MCPcopy Create free account
hub / github.com/ZDoom/Raze / C_HandleKey

Function C_HandleKey

source/common/console/c_console.cpp:755–1141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

753}
754
755static bool C_HandleKey (event_t *ev, FCommandBuffer &buffer)
756{
757 int data1 = ev->data1;
758 bool keepappending = false;
759
760 switch (ev->subtype)
761 {
762 default:
763 return false;
764
765 case EV_GUI_Char:
766 if (ev->data2)
767 {
768 // Bash-style shortcuts
769 if (data1 == 'b')
770 {
771 buffer.CursorWordLeft();
772 break;
773 }
774 else if (data1 == 'f')
775 {
776 buffer.CursorWordRight();
777 break;
778 }
779 }
780 // Add keypress to command line
781 buffer.AddChar(data1);
782 HistPos = NULL;
783 TabbedLast = false;
784 TabbedList = false;
785 break;
786
787 case EV_GUI_WheelUp:
788 case EV_GUI_WheelDown:
789 if (!(ev->data3 & GKM_SHIFT))
790 {
791 data1 = GK_PGDN + EV_GUI_WheelDown - ev->subtype;
792 }
793 else
794 {
795 data1 = GK_DOWN + EV_GUI_WheelDown - ev->subtype;
796 }
797 // Intentional fallthrough
798
799 case EV_GUI_KeyDown:
800 case EV_GUI_KeyRepeat:
801 switch (data1)
802 {
803 case '\t':
804 // Try to do tab-completion
805 C_TabComplete ((ev->data3 & GKM_SHIFT) ? false : true);
806 break;
807
808 case GK_PGUP:
809 if (ev->data3 & (GKM_SHIFT|GKM_CTRL))
810 { // Scroll console buffer up one page
811 RowAdjust += (twod->GetHeight()-4)/active_con_scale(twod) /
812 ((gamestate == GS_FULLCONSOLE || gamestate == GS_STARTUP) ? CurrentConsoleFont->GetHeight() : CurrentConsoleFont->GetHeight()*2) - 3;

Callers 1

C_ResponderFunction · 0.85

Calls 15

C_TabCompleteFunction · 0.85
active_con_scaleFunction · 0.85
PrintfFunction · 0.85
AddCommandStringFunction · 0.85
C_DoCommandFunction · 0.85
C_ToggleConsoleFunction · 0.85
I_msTimeFunction · 0.85
CursorWordLeftMethod · 0.80
CursorWordRightMethod · 0.80
GetFormattedLineCountMethod · 0.80
CursorStartMethod · 0.80
CursorEndMethod · 0.80

Tested by

no test coverage detected