1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-30 07:29:06 +00:00

Merge pull request #670 from TomHarte/STKeyboard

Corrects: KeyPad -> Keypad. Also fleshes out Atari ST keyboard mapping.
This commit is contained in:
Thomas Harte 2019-11-09 18:05:52 -05:00 committed by GitHub
commit 3741cba88c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 93 additions and 93 deletions

View File

@ -30,11 +30,11 @@ class Keyboard {
LeftControl, LeftOption, LeftMeta, Space, RightMeta, RightOption, RightControl, LeftControl, LeftOption, LeftMeta, Space, RightMeta, RightOption, RightControl,
Left, Right, Up, Down, Left, Right, Up, Down,
Insert, Home, PageUp, Delete, End, PageDown, Insert, Home, PageUp, Delete, End, PageDown,
NumLock, KeyPadSlash, KeyPadAsterisk, KeyPadDelete, NumLock, KeypadSlash, KeypadAsterisk, KeypadDelete,
KeyPad7, KeyPad8, KeyPad9, KeyPadPlus, Keypad7, Keypad8, Keypad9, KeypadPlus,
KeyPad4, KeyPad5, KeyPad6, KeyPadMinus, Keypad4, Keypad5, Keypad6, KeypadMinus,
KeyPad1, KeyPad2, KeyPad3, KeyPadEnter, Keypad1, Keypad2, Keypad3, KeypadEnter,
KeyPad0, KeyPadDecimalPoint, KeyPadEquals, Keypad0, KeypadDecimalPoint, KeypadEquals,
Help Help
}; };

View File

@ -57,19 +57,19 @@ uint16_t KeyboardMapper::mapped_key_for_key(Inputs::Keyboard::Key key) {
BIND(Left, KeyLeft); BIND(Right, KeyRight); BIND(Left, KeyLeft); BIND(Right, KeyRight);
BIND(Up, KeyUp); BIND(Down, KeyDown); BIND(Up, KeyUp); BIND(Down, KeyDown);
BIND(KeyPad0, KeyF0); BIND(Keypad0, KeyF0);
BIND(KeyPad1, KeyF1); BIND(KeyPad2, KeyF2); BIND(KeyPad3, KeyF3); BIND(Keypad1, KeyF1); BIND(Keypad2, KeyF2); BIND(Keypad3, KeyF3);
BIND(KeyPad4, KeyF4); BIND(KeyPad5, KeyF5); BIND(KeyPad6, KeyF6); BIND(Keypad4, KeyF4); BIND(Keypad5, KeyF5); BIND(Keypad6, KeyF6);
BIND(KeyPad7, KeyF7); BIND(KeyPad8, KeyF8); BIND(KeyPad9, KeyF9); BIND(Keypad7, KeyF7); BIND(Keypad8, KeyF8); BIND(Keypad9, KeyF9);
BIND(KeyPadPlus, KeySemicolon); BIND(KeypadPlus, KeySemicolon);
BIND(KeyPadMinus, KeyMinus); BIND(KeypadMinus, KeyMinus);
BIND(KeyPadEnter, KeyEnter); BIND(KeypadEnter, KeyEnter);
BIND(KeyPadDecimalPoint, KeyFullStop); BIND(KeypadDecimalPoint, KeyFullStop);
BIND(KeyPadEquals, KeyMinus); BIND(KeypadEquals, KeyMinus);
BIND(KeyPadSlash, KeyForwardSlash); BIND(KeypadSlash, KeyForwardSlash);
BIND(KeyPadAsterisk, KeyColon); BIND(KeypadAsterisk, KeyColon);
BIND(KeyPadDelete, KeyDelete); BIND(KeypadDelete, KeyDelete);
} }
#undef BIND #undef BIND
} }

View File

@ -63,25 +63,25 @@ uint16_t KeyboardMapper::mapped_key_for_key(Inputs::Keyboard::Key key) {
Bind(Space, MacKey::Space); Bind(Space, MacKey::Space);
Bind(Backslash, MacKey::Backslash); Bind(Backslash, MacKey::Backslash);
Bind(KeyPadDelete, MacKey::KeyPadDelete); Bind(KeypadDelete, MacKey::KeypadDelete);
Bind(KeyPadEquals, MacKey::KeyPadEquals); Bind(KeypadEquals, MacKey::KeypadEquals);
Bind(KeyPadSlash, MacKey::KeyPadSlash); Bind(KeypadSlash, MacKey::KeypadSlash);
Bind(KeyPadAsterisk, MacKey::KeyPadAsterisk); Bind(KeypadAsterisk, MacKey::KeypadAsterisk);
Bind(KeyPadMinus, MacKey::KeyPadMinus); Bind(KeypadMinus, MacKey::KeypadMinus);
Bind(KeyPadPlus, MacKey::KeyPadPlus); Bind(KeypadPlus, MacKey::KeypadPlus);
Bind(KeyPadEnter, MacKey::KeyPadEnter); Bind(KeypadEnter, MacKey::KeypadEnter);
Bind(KeyPadDecimalPoint, MacKey::KeyPadDecimalPoint); Bind(KeypadDecimalPoint, MacKey::KeypadDecimalPoint);
Bind(KeyPad9, MacKey::KeyPad9); Bind(Keypad9, MacKey::Keypad9);
Bind(KeyPad8, MacKey::KeyPad8); Bind(Keypad8, MacKey::Keypad8);
Bind(KeyPad7, MacKey::KeyPad7); Bind(Keypad7, MacKey::Keypad7);
Bind(KeyPad6, MacKey::KeyPad6); Bind(Keypad6, MacKey::Keypad6);
Bind(KeyPad5, MacKey::KeyPad5); Bind(Keypad5, MacKey::Keypad5);
Bind(KeyPad4, MacKey::KeyPad4); Bind(Keypad4, MacKey::Keypad4);
Bind(KeyPad3, MacKey::KeyPad3); Bind(Keypad3, MacKey::Keypad3);
Bind(KeyPad2, MacKey::KeyPad2); Bind(Keypad2, MacKey::Keypad2);
Bind(KeyPad1, MacKey::KeyPad1); Bind(Keypad1, MacKey::Keypad1);
Bind(KeyPad0, MacKey::KeyPad0); Bind(Keypad0, MacKey::Keypad0);
#undef Bind #undef Bind
} }

View File

@ -63,25 +63,25 @@ enum class Key: uint16_t {
Up = KeypadMask | 0x1b, Up = KeypadMask | 0x1b,
Down = KeypadMask | 0x11, Down = KeypadMask | 0x11,
KeyPadDelete = KeypadMask | 0x0f, KeypadDelete = KeypadMask | 0x0f,
KeyPadEquals = KeypadMask | 0x11, KeypadEquals = KeypadMask | 0x11,
KeyPadSlash = KeypadMask | 0x1b, KeypadSlash = KeypadMask | 0x1b,
KeyPadAsterisk = KeypadMask | 0x05, KeypadAsterisk = KeypadMask | 0x05,
KeyPadMinus = KeypadMask | 0x1d, KeypadMinus = KeypadMask | 0x1d,
KeyPadPlus = KeypadMask | 0x0d, KeypadPlus = KeypadMask | 0x0d,
KeyPadEnter = KeypadMask | 0x19, KeypadEnter = KeypadMask | 0x19,
KeyPadDecimalPoint = KeypadMask | 0x03, KeypadDecimalPoint = KeypadMask | 0x03,
KeyPad9 = KeypadMask | 0x39, Keypad9 = KeypadMask | 0x39,
KeyPad8 = KeypadMask | 0x37, Keypad8 = KeypadMask | 0x37,
KeyPad7 = KeypadMask | 0x33, Keypad7 = KeypadMask | 0x33,
KeyPad6 = KeypadMask | 0x31, Keypad6 = KeypadMask | 0x31,
KeyPad5 = KeypadMask | 0x2f, Keypad5 = KeypadMask | 0x2f,
KeyPad4 = KeypadMask | 0x2d, Keypad4 = KeypadMask | 0x2d,
KeyPad3 = KeypadMask | 0x2b, Keypad3 = KeypadMask | 0x2b,
KeyPad2 = KeypadMask | 0x29, Keypad2 = KeypadMask | 0x29,
KeyPad1 = KeypadMask | 0x27, Keypad1 = KeypadMask | 0x27,
KeyPad0 = KeypadMask | 0x25 Keypad0 = KeypadMask | 0x25
}; };
class Keyboard { class Keyboard {

View File

@ -264,7 +264,8 @@ uint16_t IntelligentKeyboard::KeyboardMapper::mapped_key_for_key(Inputs::Keyboar
QBind(Left); QBind(Right); QBind(Up); QBind(Down); QBind(Left); QBind(Right); QBind(Up); QBind(Down);
QBind(BackTick); QBind(Tab); QBind(BackTick); QBind(Tab);
QBind(Hyphen); QBind(Equals); QBind(Backspace); QBind(Hyphen); QBind(Equals);
QBind(Backspace); QBind(Delete);
QBind(OpenSquareBracket); QBind(OpenSquareBracket);
QBind(CloseSquareBracket); QBind(CloseSquareBracket);
QBind(CapsLock); QBind(CapsLock);
@ -273,6 +274,13 @@ uint16_t IntelligentKeyboard::KeyboardMapper::mapped_key_for_key(Inputs::Keyboar
Bind(Enter, Return); Bind(Enter, Return);
QBind(LeftShift); QBind(LeftShift);
QBind(RightShift); QBind(RightShift);
QBind(Escape);
QBind(Home);
QBind(Insert);
Bind(F12, Help); Bind(F11, Help);
Bind(PageUp, Undo);
Bind(PageDown, ISO);
Bind(Comma, Comma); Bind(Comma, Comma);
Bind(FullStop, FullStop); Bind(FullStop, FullStop);
@ -280,28 +288,20 @@ uint16_t IntelligentKeyboard::KeyboardMapper::mapped_key_for_key(Inputs::Keyboar
Bind(LeftOption, Alt); Bind(LeftOption, Alt);
Bind(RightOption, Alt); Bind(RightOption, Alt);
Bind(LeftControl, Control);
Bind(RightControl, Control);
QBind(Space); QBind(Space);
QBind(Backslash); QBind(Backslash);
/* Bind(KeyPadDelete, KeyPadDelete); QBind(Keypad0); QBind(Keypad1); QBind(Keypad2); QBind(Keypad3); QBind(Keypad4);
Bind(KeyPadEquals, KeyPadEquals); QBind(Keypad5); QBind(Keypad6); QBind(Keypad7); QBind(Keypad8); QBind(Keypad9);
Bind(KeyPadSlash, KeyPadSlash); QBind(KeypadMinus);
Bind(KeyPadAsterisk, KeyPadAsterisk); QBind(KeypadPlus);
Bind(KeyPadMinus, KeyPadMinus); QBind(KeypadDecimalPoint);
Bind(KeyPadPlus, KeyPadPlus); QBind(KeypadEnter);
Bind(KeyPadEnter, KeyPadEnter);
Bind(KeyPadDecimalPoint, KeyPadDecimalPoint);
Bind(KeyPad9, KeyPad9); QBind(F1); QBind(F2); QBind(F3); QBind(F4); QBind(F5);
Bind(KeyPad8, KeyPad8); QBind(F6); QBind(F7); QBind(F8); QBind(F9); QBind(F10);
Bind(KeyPad7, KeyPad7);
Bind(KeyPad6, KeyPad6);
Bind(KeyPad5, KeyPad5);
Bind(KeyPad4, KeyPad4);
Bind(KeyPad3, KeyPad3);
Bind(KeyPad2, KeyPad2);
Bind(KeyPad1, KeyPad1);
Bind(KeyPad0, KeyPad0);*/
#undef QBind #undef QBind
#undef Bind #undef Bind

View File

@ -36,7 +36,7 @@ enum class Key: uint16_t {
Down = 0x50, Down = 0x50,
Insert = 0x52, Delete, Insert = 0x52, Delete,
ISO = 0x60, Undo, Help, KeypadOpenBracket, KeypadCloseBracket, KeypadDivide, KeypadMultiply, ISO = 0x60, Undo, Help, KeypadOpenBracket, KeypadCloseBracket, KeypadDivide, KeypadMultiply,
Keypad7, Keypad8, Keypad9, Keypad4, KeyPad5, Keypad6, Keypad1, Keypad2, Keypad3, Keypad0, KeypadDecimalPoint, Keypad7, Keypad8, Keypad9, Keypad4, Keypad5, Keypad6, Keypad1, Keypad2, Keypad3, Keypad0, KeypadDecimalPoint,
KeypadEnter KeypadEnter
}; };
static_assert(uint16_t(Key::RightShift) == 0x36, "RightShift should have key code 0x36; check intermediate entries"); static_assert(uint16_t(Key::RightShift) == 0x36, "RightShift should have key code 0x36; check intermediate entries");

View File

@ -42,12 +42,12 @@ uint16_t KeyboardMapper::mapped_key_for_key(Inputs::Keyboard::Key key) {
BIND(Hyphen, KeyMinus); BIND(Hyphen, KeyMinus);
BIND(Delete, KeyDelete); BIND(Backspace, KeyDelete); BIND(Delete, KeyDelete); BIND(Backspace, KeyDelete);
BIND(Enter, KeyReturn); BIND(KeyPadEnter, KeyReturn); BIND(Enter, KeyReturn); BIND(KeypadEnter, KeyReturn);
BIND(KeyPad0, Key0); BIND(KeyPad1, Key1); BIND(KeyPad2, Key2); BIND(KeyPad3, Key3); BIND(KeyPad4, Key4); BIND(Keypad0, Key0); BIND(Keypad1, Key1); BIND(Keypad2, Key2); BIND(Keypad3, Key3); BIND(Keypad4, Key4);
BIND(KeyPad5, Key5); BIND(KeyPad6, Key6); BIND(KeyPad7, Key7); BIND(KeyPad8, Key8); BIND(KeyPad9, Key9); BIND(Keypad5, Key5); BIND(Keypad6, Key6); BIND(Keypad7, Key7); BIND(Keypad8, Key8); BIND(Keypad9, Key9);
BIND(KeyPadMinus, KeyMinus); BIND(KeyPadPlus, KeyColon); BIND(KeypadMinus, KeyMinus); BIND(KeypadPlus, KeyColon);
BIND(Space, KeySpace); BIND(Space, KeySpace);
} }

View File

@ -405,10 +405,10 @@ struct ActivityObserver: public Activity::Observer {
BIND(VK_F5, F5); BIND(VK_F6, F6); BIND(VK_F7, F7); BIND(VK_F8, F8); BIND(VK_F5, F5); BIND(VK_F6, F6); BIND(VK_F7, F7); BIND(VK_F8, F8);
BIND(VK_F9, F9); BIND(VK_F10, F10); BIND(VK_F11, F11); BIND(VK_F12, F12); BIND(VK_F9, F9); BIND(VK_F10, F10); BIND(VK_F11, F11); BIND(VK_F12, F12);
BIND(VK_ANSI_Keypad0, KeyPad0); BIND(VK_ANSI_Keypad1, KeyPad1); BIND(VK_ANSI_Keypad2, KeyPad2); BIND(VK_ANSI_Keypad0, Keypad0); BIND(VK_ANSI_Keypad1, Keypad1); BIND(VK_ANSI_Keypad2, Keypad2);
BIND(VK_ANSI_Keypad3, KeyPad3); BIND(VK_ANSI_Keypad4, KeyPad4); BIND(VK_ANSI_Keypad5, KeyPad5); BIND(VK_ANSI_Keypad3, Keypad3); BIND(VK_ANSI_Keypad4, Keypad4); BIND(VK_ANSI_Keypad5, Keypad5);
BIND(VK_ANSI_Keypad6, KeyPad6); BIND(VK_ANSI_Keypad7, KeyPad7); BIND(VK_ANSI_Keypad8, KeyPad8); BIND(VK_ANSI_Keypad6, Keypad6); BIND(VK_ANSI_Keypad7, Keypad7); BIND(VK_ANSI_Keypad8, Keypad8);
BIND(VK_ANSI_Keypad9, KeyPad9); BIND(VK_ANSI_Keypad9, Keypad9);
BIND(VK_ANSI_Equal, Equals); BIND(VK_ANSI_Minus, Hyphen); BIND(VK_ANSI_Equal, Equals); BIND(VK_ANSI_Minus, Hyphen);
BIND(VK_ANSI_RightBracket, CloseSquareBracket); BIND(VK_ANSI_LeftBracket, OpenSquareBracket); BIND(VK_ANSI_RightBracket, CloseSquareBracket); BIND(VK_ANSI_LeftBracket, OpenSquareBracket);
@ -418,10 +418,10 @@ struct ActivityObserver: public Activity::Observer {
BIND(VK_ANSI_Backslash, Backslash); BIND(VK_ANSI_Slash, ForwardSlash); BIND(VK_ANSI_Backslash, Backslash); BIND(VK_ANSI_Slash, ForwardSlash);
BIND(VK_ANSI_Comma, Comma); BIND(VK_ANSI_Period, FullStop); BIND(VK_ANSI_Comma, Comma); BIND(VK_ANSI_Period, FullStop);
BIND(VK_ANSI_KeypadDecimal, KeyPadDecimalPoint); BIND(VK_ANSI_KeypadEquals, KeyPadEquals); BIND(VK_ANSI_KeypadDecimal, KeypadDecimalPoint); BIND(VK_ANSI_KeypadEquals, KeypadEquals);
BIND(VK_ANSI_KeypadMultiply, KeyPadAsterisk); BIND(VK_ANSI_KeypadDivide, KeyPadSlash); BIND(VK_ANSI_KeypadMultiply, KeypadAsterisk); BIND(VK_ANSI_KeypadDivide, KeypadSlash);
BIND(VK_ANSI_KeypadPlus, KeyPadPlus); BIND(VK_ANSI_KeypadMinus, KeyPadMinus); BIND(VK_ANSI_KeypadPlus, KeypadPlus); BIND(VK_ANSI_KeypadMinus, KeypadMinus);
BIND(VK_ANSI_KeypadClear, KeyPadDelete); BIND(VK_ANSI_KeypadEnter, KeyPadEnter); BIND(VK_ANSI_KeypadClear, KeypadDelete); BIND(VK_ANSI_KeypadEnter, KeypadEnter);
BIND(VK_Return, Enter); BIND(VK_Tab, Tab); BIND(VK_Return, Enter); BIND(VK_Tab, Tab);
BIND(VK_Space, Space); BIND(VK_Delete, Backspace); BIND(VK_Space, Space); BIND(VK_Delete, Backspace);

View File

@ -180,10 +180,10 @@ bool KeyboardKeyForSDLScancode(SDL_Keycode scancode, Inputs::Keyboard::Key &key)
BIND(Z, Z) BIND(X, X) BIND(C, C) BIND(V, V) BIND(Z, Z) BIND(X, X) BIND(C, C) BIND(V, V)
BIND(B, B) BIND(N, N) BIND(M, M) BIND(B, B) BIND(N, N) BIND(M, M)
BIND(KP_7, KeyPad7) BIND(KP_8, KeyPad8) BIND(KP_9, KeyPad9) BIND(KP_7, Keypad7) BIND(KP_8, Keypad8) BIND(KP_9, Keypad9)
BIND(KP_4, KeyPad4) BIND(KP_5, KeyPad5) BIND(KP_6, KeyPad6) BIND(KP_4, Keypad4) BIND(KP_5, Keypad5) BIND(KP_6, Keypad6)
BIND(KP_1, KeyPad1) BIND(KP_2, KeyPad2) BIND(KP_3, KeyPad3) BIND(KP_1, Keypad1) BIND(KP_2, Keypad2) BIND(KP_3, Keypad3)
BIND(KP_0, KeyPad0) BIND(KP_0, Keypad0)
BIND(ESCAPE, Escape) BIND(ESCAPE, Escape)
@ -210,10 +210,10 @@ bool KeyboardKeyForSDLScancode(SDL_Keycode scancode, Inputs::Keyboard::Key &key)
BIND(INSERT, Insert) BIND(HOME, Home) BIND(PAGEUP, PageUp) BIND(INSERT, Insert) BIND(HOME, Home) BIND(PAGEUP, PageUp)
BIND(DELETE, Delete) BIND(END, End) BIND(PAGEDOWN, PageDown) BIND(DELETE, Delete) BIND(END, End) BIND(PAGEDOWN, PageDown)
BIND(NUMLOCKCLEAR, NumLock) BIND(KP_DIVIDE, KeyPadSlash) BIND(KP_MULTIPLY, KeyPadAsterisk) BIND(NUMLOCKCLEAR, NumLock) BIND(KP_DIVIDE, KeypadSlash) BIND(KP_MULTIPLY, KeypadAsterisk)
BIND(KP_PLUS, KeyPadPlus) BIND(KP_MINUS, KeyPadMinus) BIND(KP_ENTER, KeyPadEnter) BIND(KP_PLUS, KeypadPlus) BIND(KP_MINUS, KeypadMinus) BIND(KP_ENTER, KeypadEnter)
BIND(KP_DECIMAL, KeyPadDecimalPoint) BIND(KP_DECIMAL, KeypadDecimalPoint)
BIND(KP_EQUALS, KeyPadEquals) BIND(KP_EQUALS, KeypadEquals)
BIND(HELP, Help) BIND(HELP, Help)
// SDL doesn't seem to have scancodes for hash or keypad delete? // SDL doesn't seem to have scancodes for hash or keypad delete?