1 // ----------------------------------------------------------------------------
3 // ----------------------------------------------------------------------------
7 static char *VB_Name = "modInput";
10 boolean KeyState[255 + 1];
11 DemoBufferObject DemoBuffer;
14 // Public KeyFlagSpace As Boolean
15 // Public KeyFlagUp As Boolean
16 // Public KeyFlagLeft As Boolean
17 // Public KeyFlagDown As Boolean
18 // Public KeyFlagRight As Boolean
19 // Public KeyFlagEnter As Boolean
20 // Public KeyFlagESC As Boolean
21 // Public KeyFlagR As Boolean
22 // Public KeyFlagRShift As Boolean
26 void subCheckJoystick()
30 int subCheckRightMouseButton()
32 int subCheckRightMouseButton;
34 // return button state
36 return subCheckRightMouseButton;
39 int subProcessKeyboardInput()
41 int subProcessKeyboardInput;
45 // On Error GoTo NoKeyboardAccessEH
46 // Call DKeyboard.Acquire
48 // Call DKeyboard.GetDeviceStateKeyboard(KeyState)
53 if (ExitToMenuFlag != 0)
54 return subProcessKeyboardInput;
59 if (KeyState[vbKeySpace])
61 if (KeyState[vbKeyUp])
63 DemoKeyCode = keySpaceUp;
65 else if (KeyState[vbKeyLeft])
67 DemoKeyCode = keySpaceLeft;
69 else if (KeyState[vbKeyDown])
71 DemoKeyCode = keySpaceDown;
73 else if (KeyState[vbKeyRight])
75 DemoKeyCode = keySpaceRight;
79 DemoKeyCode = keySpace;
85 if (KeyState[vbKeyUp])
89 else if (KeyState[vbKeyLeft])
91 DemoKeyCode = keyLeft;
93 else if (KeyState[vbKeyDown])
95 DemoKeyCode = keyDown;
97 else if (KeyState[vbKeyRight])
99 DemoKeyCode = keyRight;
103 DemoKeyCode = keyNone;
109 if (RecordDemoFlag == 1)
110 DemoBuffer.AddDemoKey(DemoKeyCode);
112 if (DemoKeyCode != LastKey && ! NoDisplayFlag)
115 MainForm.ShowKey(DemoKeyCode);
117 LastKey = DemoKeyCode;
120 if (KeyState[vbKeyEscape])
124 // Call MainForm.menSpeed_Click(4)
129 // ExplodeFieldSP MurphyPosIndex
130 // LeadOutCounter = &H20
134 if (KeyState[vbKeyR])
136 subFetchAndInitLevelB();
139 if (KeyState[vbKeyShift])
140 subDisplayRedDiskCount();
143 if (KeyState[vbKeyReturn])
144 MainForm.PanelVisible = (ShowPanel == 0);
148 // Call DKeyboard.Unacquire
149 return subProcessKeyboardInput;
152 Debug.Print("! Keyboard access");
154 return subProcessKeyboardInput;