- // 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
- {
- 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");
+int map_key_SP_to_RND(int key)
+{
+ return (key == keyUp ? MV_UP :
+ key == keyLeft ? MV_LEFT :
+ key == keyDown ? MV_DOWN :
+ key == keyRight ? MV_RIGHT :
+ key == keySpaceUp ? KEY_BUTTON | MV_UP :
+ key == keySpaceLeft ? KEY_BUTTON | MV_LEFT :
+ key == keySpaceDown ? KEY_BUTTON | MV_DOWN :
+ key == keySpaceRight ? KEY_BUTTON | MV_RIGHT :
+ key == keySpace ? KEY_BUTTON : MV_NONE);
+}