feat: keymap_legacy_key support in doomgeneric

This commit is contained in:
boreddevnl 2026-05-09 22:19:28 +02:00
parent 0ff2f2b07e
commit 85d06482fc
2 changed files with 27 additions and 0 deletions

View file

@ -439,9 +439,28 @@ int keymap_legacy_key(uint16_t keycode, uint32_t codepoint) {
case KEY_ARROW_LEFT: return 19;
case KEY_ARROW_RIGHT: return 20;
case KEY_LEFT_CTRL:
case KEY_RIGHT_CTRL: return 21;
case KEY_LEFT_SHIFT:
case KEY_RIGHT_SHIFT: return 24;
case KEY_LEFT_ALT: return 25;
case KEY_RIGHT_ALT: return 22; // for compat w/ doom
case KEY_CAPS_LOCK: return 23; // same here
case KEY_DELETE: return 127;
case KEY_F1: return 31;
case KEY_F2: return 32;
case KEY_F3: return 33;
case KEY_F4: return 34;
case KEY_F5: return 35;
case KEY_F6: return 36;
case KEY_F7: return 37;
case KEY_F8: return 38;
case KEY_F9: return 39;
case KEY_F10: return 40;
case KEY_F11: return 41;
case KEY_F12: return 42;
default: return 0;
}
}

View file

@ -96,7 +96,15 @@ int DG_GetKey(int* pressed, unsigned char* key) {
else if (k == 21) dk = KEY_FIRE;
else if (k == 22) dk = KEY_RALT;
else if (k == 23) dk = KEY_CAPSLOCK;
else if (k == 24) dk = KEY_RSHIFT;
else if (k == 25) dk = KEY_LALT;
else if (k == 27) dk = KEY_ESCAPE;
else if (k == '\b') dk = KEY_BACKSPACE;
else if (k == '\t') dk = KEY_TAB;
else if (k == 127) dk = KEY_DEL;
else if (k >= 31 && k <= 40) dk = KEY_F1 + (k - 31);
else if (k == 41) dk = KEY_F11;
else if (k == 42) dk = KEY_F12;
else if (k == ' ') dk = KEY_USE;
else if (k == '\n' || k == '\r') dk = KEY_ENTER;
else if (k >= 'A' && k <= 'Z') dk = k + 32;