#include "Input.h"
-// static char *VB_Name = "modInput";
-
-// --- Option Explicit
-
-boolean KeyState[255 + 1];
-DemoBufferObject DemoBuffer;
-
-//
-// Public KeyFlagSpace As Boolean
-// Public KeyFlagUp As Boolean
-// Public KeyFlagLeft As Boolean
-// Public KeyFlagDown As Boolean
-// Public KeyFlagRight As Boolean
-// Public KeyFlagEnter As Boolean
-// Public KeyFlagESC As Boolean
-// Public KeyFlagR As Boolean
-// Public KeyFlagRShift As Boolean
-
-int KeyScanCode7;
int map_key_RND_to_SP(int key)
{
key == keySpace ? KEY_BUTTON : MV_NONE);
}
-void subCheckJoystick()
-{
-}
-
-int subCheckRightMouseButton()
-{
- int subCheckRightMouseButton;
-
- // return button state
-
- return subCheckRightMouseButton;
-}
-
-int subProcessKeyboardInput(byte action)
+void subProcessKeyboardInput(byte action)
{
- int subProcessKeyboardInput;
-
- static int LastKey = 0;
-
-#if 1
-
DemoKeyCode = map_key_RND_to_SP(action);
-
-#if 0
- printf("::: DemoKeyCode == %d\n", DemoKeyCode);
-#endif
-
- return subProcessKeyboardInput;
-
-#else
-
- // On Error GoTo NoKeyboardAccessEH
- // Call DKeyboard.Acquire
- // On Error GoTo 0
- // Call DKeyboard.GetDeviceStateKeyboard(KeyState)
- // With KeyState
- if (DemoFlag != 0)
- {
- subGetNextDemoKey();
-
-#if 0
- printf("::: DemoKeyCode == %d\n", DemoKeyCode);
-#endif
-
- if (ExitToMenuFlag != 0)
- return subProcessKeyboardInput;
- }
- else
- {
- if (KeyState[vbKeySpace])
- {
- if (KeyState[vbKeyUp])
- {
- DemoKeyCode = keySpaceUp;
- }
- else if (KeyState[vbKeyLeft])
- {
- DemoKeyCode = keySpaceLeft;
- }
- else if (KeyState[vbKeyDown])
- {
- DemoKeyCode = keySpaceDown;
- }
- else if (KeyState[vbKeyRight])
- {
- DemoKeyCode = keySpaceRight;
- }
- else
- {
- DemoKeyCode = keySpace;
- }
-
- }
- else
- {
- if (KeyState[vbKeyUp])
- {
- DemoKeyCode = keyUp;
- }
- else if (KeyState[vbKeyLeft])
- {
- DemoKeyCode = keyLeft;
- }
- else if (KeyState[vbKeyDown])
- {
- DemoKeyCode = keyDown;
- }
- else if (KeyState[vbKeyRight])
- {
- DemoKeyCode = keyRight;
- }
- else
- {
- DemoKeyCode = keyNone;
- }
- }
- }
-
-#endif
-
- // demo recording
- if (RecordDemoFlag == 1)
- DemoBuffer.AddDemoKey(DemoKeyCode);
-
- if (DemoKeyCode != LastKey && ! NoDisplayFlag)
- {
-#if 0
- MainForm.ShowKey(DemoKeyCode);
-#endif
- LastKey = DemoKeyCode;
- }
-
- if (KeyState[vbKeyEscape])
- {
- if (BlockingSpeed)
- {
- // Call MainForm.menSpeed_Click(4)
- }
- else
- {
-#if 1
- printf("::: Input.c: subProcessKeyboardInput(): kill murphy\n");
-#endif
-
- KillMurphyFlag = 1;
- // ExplodeFieldSP MurphyPosIndex
- // LeadOutCounter = &H20
- }
- }
-
- if (KeyState[vbKeyR])
- {
- subFetchAndInitLevelB();
- }
-
- if (KeyState[vbKeyShift])
- subDisplayRedDiskCount();
-
-#if 0
- if (KeyState[vbKeyReturn])
- MainForm.PanelVisible = (ShowPanel == 0);
-#endif
-
- // End With
- // Call DKeyboard.Unacquire
- return subProcessKeyboardInput;
-
- // NoKeyboardAccessEH:
- Debug.Print("! Keyboard access");
-
- return subProcessKeyboardInput;
}