gint/src/keysc
Lephe dd564f094a
keydev: add a keyboard device layer to abstract away globals
The new keyboard device (keydev) interface implements the kernel's view
of a keyboard providing input events. Its main role is to abstract all
the globals of the KEYSC driver and getkey functions into a separate
object: the "keyboard device".

The device implements event transformations such as modifiers and
repeats, instead of leaving them to getkey. While this can seem
surprising at first, a real keyboard controller is responsible for
repeats and modifier actions depend on the state of the keyboard which
is only tracked in real-time.

In this commit, getkey() has not changed yet apart from indirectly using
the keydev interface with pollevent(). It will be changed soon to use
event transforms in keydev_read(), and will be left in charge of
providing repeat profiles, handling return-to-menu, backlight changes
and timeouts, all of which are user convenience features.
2021-03-05 09:31:34 +01:00
..
getkey.c add a dynamic setting for keyboard scan frequency 2021-02-02 18:19:10 +01:00
getkey.h add a dynamic setting for keyboard scan frequency 2021-02-02 18:19:10 +01:00
iokbd.c iokbd keysc: space optimizations for SH3 2020-07-08 20:01:58 +02:00
keycodes.c keyboard: add keycode functions to identify F1..F6 and 0..9 2020-07-16 17:29:12 +02:00
keydev.c keydev: add a keyboard device layer to abstract away globals 2021-03-05 09:31:34 +01:00
keysc.c keydev: add a keyboard device layer to abstract away globals 2021-03-05 09:31:34 +01:00