Thread
:
Mer v0.6 released
View Single Post
Darken
2009-01-26 , 13:36
Posts: 17 | Thanked: 5 times | Joined on Jul 2008 @ Brno
#
57
I spent this weekend playing with N810 external keyboard and looking why doesn't work as in Maemo. I have no solution yet, but I can name the problem. Xorg and HAL. Xorg depend on HAL, which should provide keyboard info. HAL will recognize hardware keyboard as "Internal keyboard", working with evdev driver.
Problem is, that Fn key is sending keycode 464 (according to /usr/include/linux/input.h it's really right keycode for FN key), but X server can't handle keycode > 255.
It seems, that Xomap use some ugly hack for this key (see this:
https://bugs.maemo.org/show_bug.cgi?id=3021
) and remap keycode 464 to 216.
I tried to use HAL to remap keyboard and I created following fdi:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<!-- These are raw scancodes produced by the atkbd driver -->
<match key="info.product" string="Internal keyboard">
<append key="input.keymap.data" type="strlist">0x1d0:chat</append>
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
</device>
</deviceinfo>
This should remap key 464 to 216(chat). In lshal, I can see my new rule
root@michal-tablet:~# lshal | grep keymap
info.capabilities = {'input', 'input.keyboard', 'input.keys', 'button', 'input.keymap'} (string list)
input.keymap.data = {'0x1d0:chat'} (string list)
But Xorg still don't catch any keycode for Fn key. Any suggestion how to continue? I would like to find clear solution using HAL, instead of dirty hacking evdev driver
Quote & Reply
|
Darken
View Public Profile
Send a private message to Darken
Find all posts by Darken