aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain Perier <romain.perier@gmail.com>2012-07-13 20:27:22 +0200
committerRomain Perier <romain.perier@gmail.com>2012-07-13 22:42:53 +0200
commiteeca2d22d8b7b2142c6b4f2f25e0d91d94ac64cc (patch)
treecf7c4dbdbfc1c5a623f3de4553bff4073c2775a4
parent6ed1be1c894719dfb6a8fd23fb2ea9306116a32f (diff)
downloadandroid-input-bridge-eeca2d22d8b7b2142c6b4f2f25e0d91d94ac64cc.tar.gz
Add support for keyboards events (key mapping works as it's handled by graphics servers)
-rw-r--r--aibd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/aibd.c b/aibd.c
index 7956887..2cf04ac 100644
--- a/aibd.c
+++ b/aibd.c
@@ -116,7 +116,7 @@ static int receive_input_events(int sock, struct input_event *ev)
static int input_subsystem_init(void)
{
- int uinput_fd;
+ int uinput_fd, i;
struct uinput_user_dev uidev;
ssize_t ret;
@@ -139,6 +139,10 @@ static int input_subsystem_init(void)
ioctlx(uinput_fd, UI_SET_KEYBIT, BTN_RIGHT);
ioctlx(uinput_fd, UI_SET_KEYBIT, BTN_MIDDLE);
+ /* Register all keyboards keys, see linux/input.h */
+ for(i = 1; i <= 248; i++)
+ ioctlx(uinput_fd, UI_SET_KEYBIT, i);
+
memcpy(uidev.name, "aibd-device", UINPUT_MAX_NAME_SIZE);
uidev.id.bustype = BUS_USB;
uidev.id.version = 1;
@@ -245,7 +249,6 @@ int main (int argc, char *argv[])
if (*endptr != '\0')
usage(argv[0]);
-
uinput = input_subsystem_init();
sock = socket_init(port);
mainloop(sock, uinput);