evdev not detecting events from kbdd (Userland BTKeyboard Driver)

simon at mungewell.org simon at mungewell.org
Wed May 26 23:38:07 PDT 2010


Hi all,
I picked up a cheap BT keyboard (Omiz6220) which uses a serial/rfcomm
(rather than HID) connection. I have be able to get this working with the
Linux virtual consoles using a userland app call kbdd, however the key
presses are not seen within X.

I am using an Xorg.conf (Intel 855GME problems) but "AllowEmptyInput" is
set (by default) so I believe Xorg is handling the selection of input
devices.

Distro is Xubuntu 10.04.

The device (SerKBD) is listed under xinput, but it's events are not
registering with xev.
--
simon at treadstone:~/kbdd$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave 
pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                   	id=10	[slave 
pointer  (2)]
⎜   ↳ Macintosh mouse button emulation        	id=13	[slave 
pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard
(3)]
    ↳ Power Button                            	id=6	[slave  keyboard
(3)]
    ↳ Video Bus                               	id=7	[slave  keyboard
(3)]
    ↳ Sleep Button                            	id=8	[slave  keyboard
(3)]
    ↳ AT Translated Set 2 keyboard            	id=9	[slave  keyboard
(3)]
    ↳ ThinkPad Extra Buttons                  	id=11	[slave 
keyboard (3)]
    ↳ SerKBD                                  	id=12	[slave 
keyboard (3)]
--

The app evtest sees the events ok.
--
simon at treadstone:~/kbdd$ sudo evtest /dev/input/event8
Input driver version is 1.0.0
Input device ID: bus 0x13 vendor 0x0 product 0x0 version 0x0
Input device name: "SerKBD"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 0 (Reserved)
    Event code 1 (Esc)
    Event code 2 (1)
    Event code 3 (2)
    Event code 4 (3)
    Event code 5 (4)
...
    Event code 216 (Chat)
    Event code 217 (Search)
    Event code 218 (Connect)
    Event code 219 (Finance)
    Event code 220 (Sport)
  Event type 20 (Repeat)
Testing ... (interrupt to exit)
Event: time 1274941393.660686, type 1 (Key), code 21 (Y), value 1
Event: time 1274941393.690514, type 1 (Key), code 21 (Y), value 0
Event: time 1274941394.376683, type 1 (Key), code 18 (E), value 1
Event: time 1274941394.408689, type 1 (Key), code 18 (E), value 0
Event: time 1274941394.608681, type 1 (Key), code 31 (S), value 1
Event: time 1274941394.696673, type 1 (Key), code 31 (S), value 0
--

and it appears to be listed OK in /proc/bus/input/devices
--
I: Bus=0013 Vendor=0000 Product=0000 Version=0000
N: Name="SerKBD"
P: Phys=
S: Sysfs=/devices/virtual/input/input16
U: Uniq=
H: Handlers=kbd event8
B: EV=100003
B: KEY=1fffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
--

Xorg.0.log shows it adding 'device'
--
(II) config/udev: Adding input device SerKBD (/dev/input/event8)
(**) SerKBD: Applying InputClass "evdev keyboard catchall"
(**) SerKBD: always reports core events
(**) SerKBD: Device: "/dev/input/event8"
(II) SerKBD: Found keys
(II) SerKBD: Configuring as keyboard
(II) XINPUT: Adding extended input device "SerKBD" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "pc105"
(**) Option "xkb_layout" "us"
--

Any suggestions as to what might be a miss?

Cheers,
Mungewell.




More information about the xorg mailing list