diff options
| author | Melodi <62381002+Melodi17@users.noreply.github.com> | 2026-03-17 20:49:22 +1000 |
|---|---|---|
| committer | Melodi <62381002+Melodi17@users.noreply.github.com> | 2026-03-17 20:49:22 +1000 |
| commit | 18868128e18d38b706e7df14e8e683e1a9739c17 (patch) | |
| tree | 6f0e0e5eee646f10cbad9c0c89c24d330bc58cc6 /ROMs/hid.c | |
| parent | d87ab8af4c86a3fc6ee237444e372d87e536e3ef (diff) | |
chore: Initial commit
Diffstat (limited to 'ROMs/hid.c')
| -rw-r--r-- | ROMs/hid.c | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/ROMs/hid.c b/ROMs/hid.c deleted file mode 100644 index 11730e9..0000000 --- a/ROMs/hid.c +++ /dev/null @@ -1,80 +0,0 @@ -#include "std.c" - -#define BUS_HID_SK_START 0x6033 -#define BUS_HID_MS_INDEX 0x602F -#define BUS_HID_MS_STATE 0x602F + 2 - -#define SK_MAX 256 -#define SK_NEWLINE 13 -#define SK_BACKSPACE 8 -#define SK_SHIFT 160 -#define SK_A 65 -#define SK_B 66 -#define SK_C 67 -#define SK_D 68 -#define SK_E 69 -#define SK_F 70 -#define SK_G 71 -#define SK_H 72 -#define SK_I 73 -#define SK_J 74 -#define SK_K 75 -#define SK_L 76 -#define SK_M 77 -#define SK_N 78 -#define SK_O 79 -#define SK_P 80 -#define SK_Q 81 -#define SK_R 82 -#define SK_S 83 -#define SK_T 84 -#define SK_U 85 -#define SK_V 86 -#define SK_W 87 -#define SK_X 88 -#define SK_Y 89 -#define SK_Z 90 - -#define MS_LEFT 1 -#define MS_RIGHT 2 -#define MS_MIDDLE 4 - -int hid_getKeyState(int scanCode) -{ - char* sk_table = BUS_HID_SK_START; - int index = scanCode / 8; - int bit = scanCode % 8; - - int val = sk_table[index - 1]; - return (val & (1 << bit)) != 0; -} - -int hid_getPressedKey() -{ - for (int sk = 0; sk < SK_MAX; sk++) - { - if (hid_getKeyState(sk) && sk != SK_SHIFT) - return sk; - } - return 0; -} - -int hid_waitForPressedKey() -{ - while (true) - { - int sk = hid_getPressedKey(); - if (sk != 0) - return sk; - } -} - -int hid_getMouseIndex() -{ - return *(BUS_HID_MS_INDEX); -} - -int hid_getMouseState() -{ - return *(BUS_HID_MS_STATE); -}
\ No newline at end of file |
