[WIP] Add front buttons handling

This commit is contained in:
Bad Diode 2022-10-12 14:26:12 +02:00
parent c7fd12ca4c
commit 39b47de235
1 changed files with 14 additions and 3 deletions

View File

@ -76,11 +76,12 @@ init_input(void) {
in.kbd_fd = -1;
in.mouse_fd = -1;
in.kbd_fd = open(KBD_PATH, O_RDONLY | O_NONBLOCK);
// in.kbd_fd = open(KBD_PATH, O_RDONLY | O_NONBLOCK);
in.kbd_fd = open("/dev/input/event0", O_RDONLY | O_NONBLOCK);
if (in.kbd_fd == -1) {
// NOTE: Some applications may not require a keyboard so this is
// optional, but we are still displaying an error.
// fprintf(stderr, "error: couldn't open keyboard %s: %s.\n", KBD_PATH, strerror(errno));
fprintf(stderr, "error: couldn't open keyboard %s: %s.\n", KBD_PATH, strerror(errno));
}
// in.mouse_fd = open(MOUSE_PATH, O_RDONLY | O_NONBLOCK);
@ -158,7 +159,7 @@ poll_mouse(void) {
void
poll_input(void) {
// poll_keyboard();
poll_keyboard();
poll_mouse();
}
@ -289,6 +290,16 @@ handle_keyboard(void) {
case KEY_RIGHT: { rune = 0x80; } break;
default: break;
}
// NOTE: Nook overrides.
switch (key_code) {
case 156: { rune = 0x40; } break; // top left
case 139: { rune = 0x40; } break; // bottom left
case 151: { rune = 0x80; } break; // top right
case 158: { rune = 0x80; } break; // bottom right
default: break;
}
if (rune) {
controller_now |= rune;
continue;