Skip to content

Commit b345ddd

Browse files
committed
fixes keyboard control for dpad on macOS: add mapping for additional number keys
1 parent d1863ae commit b345ddd

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

SerialPrograms/Source/NintendoSwitch/Controllers/Procon/NintendoSwitch_ProController_from_Keyboard.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,16 @@ namespace NintendoSwitch{
1515

1616
std::vector<std::unique_ptr<EditableTableRow>> ProControllerFromKeyboardTable::make_defaults(){
1717
std::vector<std::unique_ptr<EditableTableRow>> ret;
18-
18+
#if defined(__APPLE__)
19+
ret.emplace_back(make_mapping("Dpad Up", KeyboardKey::KEY_8, ProControllerDeltas{.dpad_x = 0, .dpad_y = -1}));
20+
ret.emplace_back(make_mapping("Dpad Up+Right", KeyboardKey::KEY_9, ProControllerDeltas{.dpad_x = +1, .dpad_y = -1}));
21+
ret.emplace_back(make_mapping("Dpad Right", KeyboardKey::KEY_6, ProControllerDeltas{.dpad_x = +1, .dpad_y = 0}));
22+
ret.emplace_back(make_mapping("Dpad Down+Right", KeyboardKey::KEY_3, ProControllerDeltas{.dpad_x = +1, .dpad_y = +1}));
23+
ret.emplace_back(make_mapping("Dpad Down", KeyboardKey::KEY_2, ProControllerDeltas{.dpad_x = 0, .dpad_y = +1}));
24+
ret.emplace_back(make_mapping("Dpad Down+Left", KeyboardKey::KEY_1, ProControllerDeltas{.dpad_x = -1, .dpad_y = +1}));
25+
ret.emplace_back(make_mapping("Dpad Left", KeyboardKey::KEY_4, ProControllerDeltas{.dpad_x = -1, .dpad_y = 0}));
26+
ret.emplace_back(make_mapping("Dpad Up+Left", KeyboardKey::KEY_7, ProControllerDeltas{.dpad_x = -1, .dpad_y = -1}));
27+
#else
1928
ret.emplace_back(make_mapping("Dpad Up", KeyboardKey::KEY_KP_8, ProControllerDeltas{.dpad_x = 0, .dpad_y = -1}));
2029
ret.emplace_back(make_mapping("Dpad Up+Right", KeyboardKey::KEY_KP_9, ProControllerDeltas{.dpad_x = +1, .dpad_y = -1}));
2130
ret.emplace_back(make_mapping("Dpad Right", KeyboardKey::KEY_KP_6, ProControllerDeltas{.dpad_x = +1, .dpad_y = 0}));
@@ -24,7 +33,7 @@ std::vector<std::unique_ptr<EditableTableRow>> ProControllerFromKeyboardTable::m
2433
ret.emplace_back(make_mapping("Dpad Down+Left", KeyboardKey::KEY_KP_1, ProControllerDeltas{.dpad_x = -1, .dpad_y = +1}));
2534
ret.emplace_back(make_mapping("Dpad Left", KeyboardKey::KEY_KP_4, ProControllerDeltas{.dpad_x = -1, .dpad_y = 0}));
2635
ret.emplace_back(make_mapping("Dpad Up+Left", KeyboardKey::KEY_KP_7, ProControllerDeltas{.dpad_x = -1, .dpad_y = -1}));
27-
36+
#endif
2837
ret.emplace_back(make_mapping("Left-Stick Up", KeyboardKey::KEY_W, ProControllerDeltas{.left_x = 0, .left_y = -1}));
2938
ret.emplace_back(make_mapping("Left-Stick Left", KeyboardKey::KEY_A, ProControllerDeltas{.left_x = -1, .left_y = 0}));
3039
ret.emplace_back(make_mapping("Left-Stick Down", KeyboardKey::KEY_S, ProControllerDeltas{.left_x = 0, .left_y = +1}));

0 commit comments

Comments
 (0)