Add command/meta key support

This commit is contained in:
elasota
2021-08-02 01:04:22 -04:00
parent c04aeeb962
commit eac270670d
10 changed files with 36 additions and 10 deletions

View File

@@ -145,7 +145,7 @@ void HandleKeyEvent (const KeyDownStates &keyStates, const GpKeyboardInputEvent
{
const intptr_t theChar = PackVOSKeyCode(theEvent);
const bool shiftDown = keyStates.IsSet(PL_KEY_EITHER_SPECIAL(kShift));
const bool commandDown = keyStates.IsSet(PL_KEY_EITHER_SPECIAL(kControl));
const bool commandDown = keyStates.IsSet(PL_KEY_SHORTCUT);
const bool optionDown = keyStates.IsSet(PL_KEY_EITHER_SPECIAL(kAlt));
if ((commandDown) && (!optionDown))
@@ -413,7 +413,7 @@ void HandleEvent (void)
bool itHappened = true;
const KeyDownStates *eventKeys = PortabilityLayer::InputManager::GetInstance()->GetKeys();
if ((eventKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl))) &&
if ((eventKeys->IsSet(PL_KEY_SHORTCUT)) &&
(eventKeys->IsSet(PL_KEY_EITHER_SPECIAL(kAlt))))
{
HiliteAllObjects();

View File

@@ -228,7 +228,7 @@ void DoGameOverStarAnimation (void)
{
const KeyDownStates *theKeys = PortabilityLayer::InputManager::GetInstance()->GetKeys();
if ((theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl))) || (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kAlt))) || (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kShift))))
if ((theKeys->IsSet(PL_KEY_SHORTCUT)) || (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kAlt))) || (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kShift))))
noInteruption = false;
if (PortabilityLayer::EventQueue::GetInstance()->Dequeue(&theEvent))
@@ -475,7 +475,7 @@ void DoDiedGameOver (void)
{
const KeyDownStates *theKeys = PortabilityLayer::InputManager::GetInstance()->GetKeys();
if ((theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kAlt))) || (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl))) || (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kShift))))
if ((theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kAlt))) || (theKeys->IsSet(PL_KEY_SHORTCUT)) || (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kShift))))
{
pagesStuck = 8;
userAborted = true;

View File

@@ -403,7 +403,7 @@ void DoPause (void)
if ((isEscPauseKey && theKeys->IsSet(PL_KEY_SPECIAL(kEscape))) ||
(!isEscPauseKey && theKeys->IsSet(PL_KEY_SPECIAL(kTab))))
paused = false;
else if (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl)))
else if (theKeys->IsSet(PL_KEY_SHORTCUT))
DoCommandKey();
Delay(1, nullptr);
@@ -513,7 +513,7 @@ void DoHeliumEngaged (gliderPtr thisGlider)
#else
if (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl)))
if (theKeys->IsSet(PL_KEY_SHORTCUT))
DoCommandKey();
// Cheesy - Use touchscreen menu as quit
@@ -601,7 +601,7 @@ void GetInput (gliderPtr thisGlider)
{
const KeyDownStates *theKeys = PortabilityLayer::InputManager::GetInstance()->GetKeys();
if (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl)))
if (theKeys->IsSet(PL_KEY_SHORTCUT))
DoCommandKey();
}

View File

@@ -2664,7 +2664,7 @@ void HiliteAllObjects (void)
{
Delay(1, nullptr);
}
while ((theseKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl))) &&
while ((theseKeys->IsSet(PL_KEY_SHORTCUT)) &&
(theseKeys->IsSet(PL_KEY_EITHER_SPECIAL(kAlt))));
for (i = 0; i < kMaxRoomObs; i++)

View File

@@ -470,7 +470,7 @@ Boolean WaitForInputEvent (short seconds)
{
const KeyDownStates *theKeys = PortabilityLayer::InputManager::GetInstance()->GetKeys();
if (theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl)) || theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kAlt)) || theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kShift)))
if (theKeys->IsSet(PL_KEY_SHORTCUT) || theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kAlt)) || theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kShift)))
waiting = false;
if (PortabilityLayer::EventQueue::GetInstance()->Dequeue(&theEvent))
@@ -501,7 +501,7 @@ void WaitCommandQReleased (void)
{
const KeyDownStates *theKeys = PortabilityLayer::InputManager::GetInstance()->GetKeys();
if (!theKeys->IsSet(PL_KEY_EITHER_SPECIAL(kControl)) || !theKeys->IsSet(PL_KEY_ASCII('Q')))
if (!theKeys->IsSet(PL_KEY_SHORTCUT) || !theKeys->IsSet(PL_KEY_ASCII('Q')))
waiting = false;
PL_ASYNCIFY_PARANOID_DISARM_FOR_SCOPE();