Hi, for running vdr with softdevice from a non root user I've to add "no-vt" and "no-vt-switch" to directfbrc.
Unfortunately "no-vt" makes reading key_symbol hard. The following output is from df_input running as root with "no-vt" set: (*) DirectFB/Core: Single Application Core. (2008-09-27 23:21) (*) Direct/Modules: suppress module 'serialmouse' (*) Direct/Thread: Started 'PS/2 Input' (5994) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: IMPS/2 Mouse 1.0 (directfb.org) (*) Direct/Thread: Started 'Linux Input' (5995) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Power Button (FF) (1) 0.1 (directfb.org) (*) Direct/Thread: Started 'Linux Input' (5996) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Power Button (CM) (2) 0.1 (directfb.org) (*) Direct/Thread: Started 'Linux Input' (5997) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: AT Translated Set 2 keyboard (3) 0.1 (directfb.org) (*) Direct/Thread: Started 'Linux Input' (5998) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: ImExPS/2 Logitech Explorer Mous (4) 0.1 (directfb.org) (*) Direct/Thread: Started 'Keyboard Input' (5999) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Keyboard 0.9 (directfb.org) (*) DirectFB/Genefx: MMX detected and enabled (*) DirectFB/Graphics: VIA/S3G CLE266/UniChrome 0.4 (-) --snip-- key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(57) key_id(0xF647) id_name(SPACE) PRESS key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(57) key_id(0xF647) id_name(SPACE) RELEASE key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(2) key_id(0xF61C) id_name(1) PRESS key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(2) key_id(0xF61C) id_name(1) RELEASE key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(2) key_id(0xF61C) id_name(1) PRESS key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(2) key_id(0xF61C) id_name(1) RELEASE key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(1) key_id(0xF640) id_name(ESCAPE) PRESS key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(1) key_id(0xF640) id_name(ESCAPE) RELEASE key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(1) key_id(0xF640) id_name(ESCAPE) PRESS key_symbol(0x0 [0x1B - 0xF062] {0x0}) key_code(1) key_id(0xF640) id_name(ESCAPE) RELEASE ^C(!) [ 5993: 0.000] --> Caught signal 2 (sent by the kernel) <-- Has to be terminated by contr-c ! with "no-vt" commented out: (*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'. SymName (SPACE) key_symbol(0x20 [0x1B - 0xF062] {0x20}) key_code(57) key_id(0xF647) id_name(SPACE) PRESS SymName (SPACE) key_symbol(0x20 [0x1B - 0xF062] {0x20}) key_code(57) key_id(0xF647) id_name(SPACE) RELEASE SymName (SPACE) key_symbol(0x20 [0x1B - 0xF062] {0x20}) key_code(57) key_id(0xF647) id_name(SPACE) PRESS SymName (SPACE) key_symbol(0x20 [0x1B - 0xF062] {0x20}) key_code(57) key_id(0xF647) id_name(SPACE) RELEASE SymName (1) key_symbol(0x31 [0x1B - 0xF062] {0x31}) key_code(2) key_id(0xF61C) id_name(1) PRESS SymName (1) key_symbol(0x31 [0x1B - 0xF062] {0x31}) key_code(2) key_id(0xF61C) id_name(1) RELEASE SymName (1) key_symbol(0x31 [0x1B - 0xF062] {0x31}) key_code(2) key_id(0xF61C) id_name(1) PRESS SymName (1) key_symbol(0x31 [0x1B - 0xF062] {0x31}) key_code(2) key_id(0xF61C) id_name(1) RELEASE SymName (ESCAPE) key_symbol(0x1B [0x1B - 0xF062] {0x1B}) key_code(1) key_id(0xF640) id_name(ESCAPE) PRESS SymName (ESCAPE) key_symbol(0x1B [0x1B - 0xF062] {0x1B}) key_code(1) key_id(0xF640) id_name(ESCAPE) RELEASE SymName (ESCAPE) key_symbol(0x1B [0x1B - 0xF062] {0x1B}) key_code(1) key_id(0xF640) id_name(ESCAPE) PRESS SymName (ESCAPE) key_symbol(0x1B [0x1B - 0xF062] {0x1B}) key_code(1) key_id(0xF640) id_name(ESCAPE) RELEASE (*) FBDev/Mode: Setting 1024x768 AiRGB Terminated by pressing ESCAPE twice. Is there a chance to get the correct key_symbol value key_code (key_id) ? Modified df_input.c by: diff --git a/src/df_input.c b/src/df_input.c index 6bbd51d..57f309a 100644 --- a/src/df_input.c +++ b/src/df_input.c @@ -224,10 +224,13 @@ show_key_event( DFBInputEvent *evt ) primary->SetColor( primary, 0xF0, 0xC0, 0x30, 0xFF ); primary->DrawString( primary, symbol_name->name, -1, 40, screen_height/3, DSTF_LEFT ); +fprintf(stderr, "SymName (%s) ", symbol_name->name); } primary->SetColor( primary, 0x60, 0x60, 0x60, 0xFF ); snprintf (buf, sizeof(buf), "0x%X", evt->key_symbol); +fprintf(stderr, "key_symbol(%s [0x%X - 0x%X] {0x%X}) ", buf, DIKS_ESCAPE, DIKS_EXIT, evt->key_symbol); + primary->DrawString( primary, buf, -1, screen_width - 40, screen_height/3, DSTF_RIGHT ); @@ -236,6 +239,7 @@ show_key_event( DFBInputEvent *evt ) primary->SetColor( primary, 0x80, 0x80, 0x80, 0xFF ); snprintf (buf, sizeof(buf), "%d", evt->key_code); +fprintf(stderr, "key_code(%s) ", buf); -- Stefan Lucke _______________________________________________ directfb-users mailing list directfb-users@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users