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