Colemak example doesn't work on Debian GNU/Linux with X11
ilyad opened this issue · 1 comments
I tried to generate colemak
layout for X11 by
../klfc colemak.json altgr_colemak.json extend.json -o blah
using pre-compiled binary package version 1.5.2 on Debian stable. Despite some warnings it went well. Then I executed ./run-session.sh
in blah/xkb
.Below is the error message printed by xkbcomp
. After that I manually edited the generated file colemak
: removed XF86ScrollRight
and similar fixes, see the diff below after the error message. Then I tried run-session.sh
again. The 6 first messages (2 x Internal error + 4 x Error) disappeared, but X Error of failed request....
remained the same.
Any idea what I did wrong?
xtoo:/home/ilya/klfc-1.5.2/examples/blah/xkb > ./run-session.sh
Internal error: Could not resolve keysym XF86ScrollRight
Error: Button must specify default or be in the range 1..5
Illegal button value 6 ignored
Error: Illegal action definition for <AD02>
Action for group 1/level 6 ignored
Internal error: Could not resolve keysym XF86ScrollLeft
Error: Button must specify default or be in the range 1..5
Illegal button value 7 ignored
Error: Illegal action definition for <AC02>
Action for group 1/level 6 ignored
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 135 (XKEYBOARD)
Minor opcode of failed request: 9 (XkbSetMap)
Value in failed request: 0x16430005
Serial number of failed request: 132
Current serial number in output stream: 138``xtoo:/home/ilya/klfc-1.5.2/examples/blah2/xkb > ./run-session.sh
diff --git a/klfc-1.5.2/examples/blah/xkb/symbols/colemak b/colemak.changed
index cdbd263..3ae703b 100644
--- a/klfc-1.5.2/examples/blah/xkb/symbols/colemak
+++ b/colemak.changed
@@ -21,8 +21,8 @@ xkb_symbols "basic" {
key.type[Group1] = "NONE_SHIFT_ALTGR_SHIFT+ALTGR_EXTEND_ALPHABETIC";
key <AD01> { [ q, Q, adiaeresis, Adiaeresis, Escape ] };
key.type[Group1] = "NONE_SHIFT_ALTGR_SHIFT+ALTGR_EXTEND_SHIFT+EXTEND_ALPHABETIC";
- key <AD02> { [ w, W, aring, Aring, XF86ScrollUp, XF86ScrollRight ],
- actions[Group1] = [ NoAction(), NoAction(), NoAction(), NoAction(), PtrBtn(button=4), PtrBtn(button=6) ] };
+ key <AD02> { [ w, W, aring, Aring, XF86ScrollUp ],
+ actions[Group1] = [ NoAction(), NoAction(), NoAction(), NoAction(), PtrBtn(button=4) ] };
key.type[Group1] = "NONE_SHIFT_ALTGR_SHIFT+ALTGR_EXTEND_ALPHABETIC";
key <AD03> { [ f, F, atilde, Atilde, XF86Back ] };
key <AD04> { [ p, P, oslash, Oslash, XF86Forward ] };
@@ -44,8 +44,8 @@ xkb_symbols "basic" {
actions[Group1] = [ NoAction(), NoAction(), NoAction(), NoAction(), SetMods(mods=Alt) ],
vmods=Alt };
key.type[Group1] = "NONE_SHIFT_ALTGR_SHIFT+ALTGR_EXTEND_SHIFT+EXTEND_ALPHABETIC";
- key <AC02> { [ r, R, dead_grave, VoidSymbol, XF86ScrollDown, XF86ScrollLeft ],
- actions[Group1] = [ NoAction(), NoAction(), NoAction(), NoAction(), PtrBtn(button=5), PtrBtn(button=7) ] };
+ key <AC02> { [ r, R, dead_grave, VoidSymbol, XF86ScrollDown ],
+ actions[Group1] = [ NoAction(), NoAction(), NoAction(), NoAction(), PtrBtn(button=5) ] };
key.type[Group1] = "NONE_SHIFT_ALTGR_SHIFT+ALTGR_EXTEND_ALPHABETIC";
key <AC03> { [ s, S, ssharp, VoidSymbol, Shift_L ],
actions[Group1] = [ NoAction(), NoAction(), NoAction(), NoAction(), SetMods(mods=Shift) ] };
You didn't do anything wrong. It is a weird xkbcomp bug. I happens when:
- the xkbcomp destination is set to the X11 display,
- a key with a X11 function is modified (e.g. function keys, since they have XF86_Switch_VT_n on Control+Alt),
- its type is changed,
- the file with the definition of the type contains at least 7 types (!).
I thought it was fixed, but it is still there. I should probably open a bug report.
I added a workaround in 445aa85, which sets the destination of xkbcomp to a temp file. Note that installing the layout by executing install-system.sh
and selecting it does work.