|
List Info
Thread: N800, xkb and Sierra full size keyboard
|
|
| N800, xkb and Sierra full size keyboard |

|
2007-01-20 07:16:38 |
Hi,
I have an N800 and a sierra bluetooth keyboard. It looks
like the "Fn"
key of this keyboard is not processed by the keyboard but
sent
to the N800 and interpreted as the "Menu" key, so
in practice all keys
that should be accessible using the Fn key as modifier don't
work. This
includes F1..F12, PageUp/Down, EuroSign, YenSign, ... so
it's
pretty annoying.
It looks like there is lots of interesting keyboard stuff
in /usr/share/X11/xkb/ on my N800, any idea on how to define
an adapted
layout? (I assume defining the Fn key as a modifier Hyper_R
or something
then adding definitions on the other keys.)
Thanks in advance,
Laurent
References:
* "Think Outside Stowaway Sierra Full Size Bluetooth
Keyboard"
http://www.ex
pansys.com/p.aspx?i=137486
(I have a qwerty model)
* https:
//maemo.org/bugzilla/show_bug.cgi?id=333
* xev for various 'alt' keys from left to right:
1/ The "windows / cmd" key
KeyPress event, serial 24, synthetic NO, window 0x1800001,
root 0x3c, subw 0x0, time 1066203850, (332,224),
root:(412,284),
state 0x0, keycode 115 (keysym 0xffeb, Super_L),
same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 27, synthetic NO, window
0x1800001,
root 0x3c, subw 0x0, time 1066204051, (332,224),
root:(412,284),
state 0x0, keycode 115 (keysym 0xffeb, Super_L),
same_screen YES,
XLookupString gives 0 bytes:
2/ The "Alt" key
KeyPress event, serial 27, synthetic NO, window 0x1800001,
root 0x3c, subw 0x0, time 1066207150, (332,224),
root:(412,284),
state 0x0, keycode 64 (keysym 0xffe9, Alt_L),
same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 27, synthetic NO, window
0x1800001,
root 0x3c, subw 0x0, time 1066207348, (332,224),
root:(412,284),
state 0x8, keycode 64 (keysym 0xffe9, Alt_L),
same_screen YES,
XLookupString gives 0 bytes:
3/ The "Fn" key
KeyPress event, serial 27, synthetic NO, window 0x1800001,
root 0x3c, subw 0x0, time 1066210051, (332,224),
root:(412,284),
state 0x0, keycode 117 (keysym 0xff67, Menu),
same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 27, synthetic NO, window
0x1800001,
root 0x3c, subw 0x0, time 1066210254, (332,224),
root:(412,284),
state 0x0, keycode 117 (keysym 0xff67, Menu),
same_screen YES,
XLookupString gives 0 bytes:
4/ The "AltGr" key
KeyPress event, serial 27, synthetic NO, window 0x1800001,
root 0x3c, subw 0x0, time 1066212071, (332,224),
root:(412,284),
state 0x0, keycode 113 (keysym 0xffea, Alt_R),
same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 27, synthetic NO, window
0x1800001,
root 0x3c, subw 0x0, time 1066212269, (332,224),
root:(412,284),
state 0x8, keycode 113 (keysym 0xffea, Alt_R),
same_screen YES,
XLookupString gives 0 bytes:
_______________________________________________
maemo-developers mailing list
maemo-developers maemo.org
h
ttps://maemo.org/mailman/listinfo/maemo-developers
|
|
| Re: N800, xkb and Sierra full size
bluetooth keyboard |

|
2007-01-22 16:37:30 |
|
After reading docs and some trial and error, I found out if you do the
changes below in /usr/share/X11/xkb/ and select enlish/GB keyboard
the Think Outside Stowaway Sierra Full Size Bluetooth Keyboard
will mostly work ok (with AltGr instead of the Fn key to get the "blue"
symbols and compose for accents - I'm french .
I did not succeed in getting the "EIGHT_LEVEL" or "level5" mode to work
and define more key combos with "Fn"+key. If any xkb syntax expert
is lurking arount, help welcomed.
Laurent
http://guerby.org/blog/
$ diff -u compat/level5 compat/level5_save
--- compat/level5 2007-01-20 21:34:43.000000000 +0100
+++ compat/level5_save 2007-01-20 21:34:43.000000000 +0100
 -15,13 +15,13 
latchMods.latchToLock= True;
//ISO_Level5_Shift
- interpret Hyper_L+Any {
+ interpret 0xfe11+Any {
useModMapMods= level1;
virtualModifier= LevelFive;
action= SetMods(modifiers=LevelFive);
};
- interpret Hyper_L {
+ interpret 0xfe11 {
action= SetMods(modifiers=LevelFive);
};
guerby pc1:~/tmp/n$ diff -u compat/level5_save compat/level5
--- compat/level5_save 2007-01-20 21:34:43.000000000 +0100
+++ compat/level5 2007-01-20 21:34:43.000000000 +0100
 -15,13 +15,13 
latchMods.latchToLock= True;
//ISO_Level5_Shift
- interpret 0xfe11+Any {
+ interpret Hyper_L+Any {
useModMapMods= level1;
virtualModifier= LevelFive;
action= SetMods(modifiers=LevelFive);
};
- interpret 0xfe11 {
+ interpret Hyper_L {
action= SetMods(modifiers=LevelFive);
};
$ diff -u symbols/level5_save symbols/level5
--- symbols/level5_save 2007-01-20 21:34:34.000000000 +0100
+++ symbols/level5 2007-01-20 21:34:34.000000000 +0100
 -12,7 +12,7 
xkb_symbols "rctrl_switch" {
key {
type[Group1]="ONE_LEVEL",
- symbols[Group1] = [ 0xfe11 ]
+ symbols[Group1] = [ Hyper_L ]
};
- modifier_map Mod3 ;
+ modifier_map Mod3 ;
};
$ diff -u symbols/gb_save symbols/gb
--- symbols/gb_save 2007-01-20 21:34:34.000000000 +0100
+++ symbols/gb 2007-01-20 21:34:33.000000000 +0100
 -16,17 +16,26 
name[Group1]="United Kingdom";
- key { [ 2, quotedbl, twosuperior, oneeighth ] };
- key { [ 3, sterling, threesuperior, sterling ] };
- key { [ 4, dollar, EuroSign, onequarter ] };
+ // key { [ 2, quotedbl, twosuperior, oneeighth ] };
+ // key { [ 3, sterling, threesuperior, sterling ] };
+ // key { [ 4, dollar, EuroSign, onequarter ] };
+
+ // key { [apostrophe, at, dead_circumflex, dead_caron] };
+ // key { [ grave, notsign, bar, bar ] };
+
+ // key { [numbersign, asciitilde, dead_grave, dead_breve ] };
+ // key { [ backslash, bar, bar, brokenbar ] };
+
+ key { [ p, P, sterling, THORN ] };
+ key { [ y, Y, yen, leftarrow ] };
+ key { [ e, E, EuroSign, cent, EuroSign ] };
+ key { [ Tab, ISO_Left_Tab, Escape, Escape ] };
- key { [apostrophe, at, dead_circumflex, dead_caron] };
- key { [ grave, notsign, bar, bar ] };
-
- key { [numbersign, asciitilde, dead_grave, dead_breve ] };
- key { [ backslash, bar, bar, brokenbar ] };
+ key |
[1-2]
|
|