1 // ----------------------------------------------------------------------------
3 // ----------------------------------------------------------------------------
7 // static char *VB_Name = "modInput";
11 boolean KeyState[255 + 1];
12 DemoBufferObject DemoBuffer;
15 // Public KeyFlagSpace As Boolean
16 // Public KeyFlagUp As Boolean
17 // Public KeyFlagLeft As Boolean
18 // Public KeyFlagDown As Boolean
19 // Public KeyFlagRight As Boolean
20 // Public KeyFlagEnter As Boolean
21 // Public KeyFlagESC As Boolean
22 // Public KeyFlagR As Boolean
23 // Public KeyFlagRShift As Boolean
27 void subCheckJoystick()
31 int subCheckRightMouseButton()
33 int subCheckRightMouseButton;
35 // return button state
37 return subCheckRightMouseButton;
40 int subProcessKeyboardInput()
42 int subProcessKeyboardInput;
44 static int LastKey = 0;
46 // On Error GoTo NoKeyboardAccessEH
47 // Call DKeyboard.Acquire
49 // Call DKeyboard.GetDeviceStateKeyboard(KeyState)
54 if (ExitToMenuFlag != 0)
55 return subProcessKeyboardInput;
60 if (KeyState[vbKeySpace])
62 if (KeyState[vbKeyUp])
64 DemoKeyCode = keySpaceUp;
66 else if (KeyState[vbKeyLeft])
68 DemoKeyCode = keySpaceLeft;
70 else if (KeyState[vbKeyDown])
72 DemoKeyCode = keySpaceDown;
74 else if (KeyState[vbKeyRight])
76 DemoKeyCode = keySpaceRight;
80 DemoKeyCode = keySpace;
86 if (KeyState[vbKeyUp])
90 else if (KeyState[vbKeyLeft])
92 DemoKeyCode = keyLeft;
94 else if (KeyState[vbKeyDown])
96 DemoKeyCode = keyDown;
98 else if (KeyState[vbKeyRight])
100 DemoKeyCode = keyRight;
104 DemoKeyCode = keyNone;
110 if (RecordDemoFlag == 1)
111 DemoBuffer.AddDemoKey(DemoKeyCode);
113 if (DemoKeyCode != LastKey && ! NoDisplayFlag)
116 MainForm.ShowKey(DemoKeyCode);
118 LastKey = DemoKeyCode;
121 if (KeyState[vbKeyEscape])
125 // Call MainForm.menSpeed_Click(4)
130 // ExplodeFieldSP MurphyPosIndex
131 // LeadOutCounter = &H20
135 if (KeyState[vbKeyR])
137 subFetchAndInitLevelB();
140 if (KeyState[vbKeyShift])
141 subDisplayRedDiskCount();
144 if (KeyState[vbKeyReturn])
145 MainForm.PanelVisible = (ShowPanel == 0);
149 // Call DKeyboard.Unacquire
150 return subProcessKeyboardInput;
152 // NoKeyboardAccessEH:
153 Debug.Print("! Keyboard access");
155 return subProcessKeyboardInput;