Hi, I am trying to integrate a proprietary keyboard, sending linux scancodes via TCP. My idea is to use uinput to forward the received keycodes to locally running applications (including the x server). In my xorg.conf I have the following section:
Section "InputDevice" # to enable user defined virtual keyboard Identifier "Keyboard1" Option "Device" "/dev/input/event14" Driver "evdev" EndSection where event14 is the event queue associated to the uinput simulated "device". I do see the scancodes sent from my device with both commands: - xinput test-xi2 --root - showkey -s However I am not able to intercept the keyboard events in this simple X application int main(int argc, char** argv) { Display* display = XOpenDisplay(NULL); Window window = XCreateSimpleWindow(display, RootWindow(display, 0), 1, 1, 500, 500, 0, BlackPixel(display, 0), BlackPixel(display, 0)); XSelectInput(display, window, KeyPressMask | KeyReleaseMask); XMapWindow(display, window); XEvent report; while (1) { XNextEvent(display, &report); switch (report.type) { case KeyRelease: printf("got a KeyRelease event: %d, %d\n", report.xkey.keycode, report.xkey.state); break; case KeyPress: printf("got a KeyPress event: %d, %d\n", report.xkey.keycode, report.xkey.state); break; default: printf("got a %d event\n", report.type); break; } } XFlush(display); sleep(5); return (EXIT_SUCCESS); } _______________________________________________ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: %(user_address)s