|
|
|
@ -176,16 +176,19 @@ void plKeyboardDevice::HandleKeyEvent(plOSMsg message, plKeyDef key, bool bKeyDo
|
|
|
|
|
if (key == KEY_SHIFT) |
|
|
|
|
{ |
|
|
|
|
fShiftKeyDown = bKeyDown; |
|
|
|
|
// return;
|
|
|
|
|
} |
|
|
|
|
if (key == KEY_CTRL) |
|
|
|
|
{ |
|
|
|
|
fCtrlKeyDown = bKeyDown; |
|
|
|
|
// return;
|
|
|
|
|
} |
|
|
|
|
if (key == KEY_CAPSLOCK) |
|
|
|
|
{ |
|
|
|
|
if (!bKeyRepeat) |
|
|
|
|
// Keyboards toggle the light on key-down, so I'm going with that.
|
|
|
|
|
if (bKeyDown && !bKeyRepeat) |
|
|
|
|
{ |
|
|
|
|
fCapsLockLock = (GetKeyState(KEY_CAPSLOCK) & 1) == 1; |
|
|
|
|
fCapsLockLock = !fCapsLockLock; |
|
|
|
|
plAvatarInputInterface::GetInstance()->ForceAlwaysRun(fCapsLockLock); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -205,8 +208,7 @@ void plKeyboardDevice::HandleWindowActivate(bool bActive, HWND hWnd)
|
|
|
|
|
{ |
|
|
|
|
if (bActive) |
|
|
|
|
{ |
|
|
|
|
// Refresh the caps lock state
|
|
|
|
|
HandleKeyEvent(KEYDOWN, KEY_CAPSLOCK, nil, false); |
|
|
|
|
fCtrlKeyDown = false; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|