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

Reply via email to