Key bindings do not work in icewm-1.2.16
Brought to you by:
captnmark
After compiling version 1.2.16 on a i686 pc (Athlon XP)
running Slackware 9.1, the key bindings that were
working with the previous icewm installation (1.2.13)
stopped functioning. No modification of the
configuration files living in ~/icewm took place.
The problem ceased to exist as soon as icewm-1.2.13 was
recompiled from source and reinstalled.
Linux kernel version: 2.4.27
XFree86 version: 4.3.0
Logged In: YES
user_id=607018
You should provide info what keybindings are you talking
about, otherwise it can not be reproduced.
Did you check default icewm configuration files in
/usr/local/share/icewm or so?
Logged In: YES
user_id=1099543
Sorry for being a bit vague. The keybindings I am talking
about are similar to the default ones located in
/usr/local/share/icewm/keys
though they launch different applications. E.g.:
# Excerpt from my ~/.icewm/keys
key "Alt+Ctrl+t" xterm -sb -fg black -bg
snow3 -cr black -hc Nava
joWhite -fn grfixed
key "Alt+Ctrl+f" /usr/local/bin/rox
key "Alt+Ctrl+e" gvim
Note: No /etc/X11/icewm directory exists so icewm will use
either
the default settings or mine.
I tried my keybindings in version 1.2.16 (especially the
"Alt+Ctrl+t"
one) but none of them seemed to work. Even cycling through the
windows using Alt+Tab wasn't working. When I switched back to
version 1.2.13 they were working again.
I had a look at the README file and /usr/local/share/icewm/keys
in case the format of the bindings had changed but didn't spot
any differences.
However, I noticed that other custom configuration options were
working fine with 1.2.16. E.g. when I clicked the terminal
button on
the toolbar, it launched xterm with my custom options. Also, the
submenus I created in the start menu were still there, although
any menu option upon which the mouse pointer was hovering was
not highlighted automagically as in version 1.2.13.
Finally, I configured both 1.2.13 and 1.2.16 with the
--disable-nls
and --disable-i18n options.
Logged In: YES
user_id=607018
I stil can not reproduce this.
Alt+Ctrl+t, Alt+Tab and others are working for me with
1.2.16 and your compilation options on RH9 and FC2.
Maybe there is some problem with one of the modifier keys
(Alt?) and mapping.
Logged In: YES
user_id=1814
please attach output of 'xmodmap'.
if you can determine exactly which version (incl .pre) broke
this for you,
it would be very useful.
Output of xmodmap
Logged In: YES
user_id=1099543
Apart from the icewm version I am currently using(1.2.13) I
compiled from source and tested the following versions at
this order:
1.2.14pre1, 1.2.14, 1.2.15pre1, 1.2.15, 1.2.15pre2.
All of the versions were configured with the --disable-nls
and --disable-i18n options.
The versions 1.2.14pre1, 1.2.14 and 1.2.15pre1 didn't have
broken keybindings. Version 1.2.15 did have broken
keybindings and since I had narrowed down my search space by
that time, I went back and tried 1.2.15pre2. It did have
broken keybindings.
Therefore, it seems to me that icewm-1.2.15pre2 is the first
version that broke the keybindings(at least for me).
I have attached the file with the output of
xmodmap(xmodmap.out).
HTH,
Kostas
Logged In: YES
user_id=1814
xmodmap: up to 2 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x6d)
mod1 Alt_L (0x40), Alt_R (0x71)
mod2 Num_Lock (0x4d)
mod3
mod4 F13 (0x73), Super_R (0x74)
mod5 Alt_R (0x71)
Hmm, strange. Where did you get this mapping?
You should consider removing Alt_R from mod5.
I will "try to fix" this by using the first (mod1) match for
Alt mask, instead of the last (mod5)
fix checked in.
Logged In: YES
user_id=1083970
I have the same problem. The problem is with numlock.
I think this problem mentioned in the CHANGES.gz is back.
0.9.9:
- NumLock should now be properly ignored for
keybindings.
Logged In: YES
user_id=1083970
Could this be the problem? The fact that "if (key.state &
xapp->NumLockMask)" is no longer applied to all?
--- icewm-1.2.15/src/yinput.cc 2004-08-09
12:25:25.000000000 -0500
+++ icewm-1.2.16/src/yinput.cc 2004-08-15
23:58:31.000000000 -0500
@@ -161,10 +161,26 @@
bool YInputLine::handleKey(const XKeyEvent &key) {
if (key.type == KeyPress) {
- int index = 0;
- if (key.state & xapp->NumLockMask)
- index = 1;
- KeySym k = XKeycodeToKeysym(xapp->display(),
key.keycode, index);
+ KeySym k = XKeycodeToKeysym(xapp->display(),
key.keycode, 0);
+
+ switch (k) {
+ case XK_KP_Home:
+ case XK_KP_Up:
+ case XK_KP_Prior:
+ case XK_KP_Left:
+ case XK_KP_Begin:
+ case XK_KP_Right:
+ case XK_KP_End:
+ case XK_KP_Down:
+ case XK_KP_Next:
+ case XK_KP_Insert:
+ case XK_KP_Delete:
+ if (key.state & xapp->NumLockMask) {
+ k = XKeycodeToKeysym(xapp->display(),
key.keycode, 1);
+ }
+ break;
+ }
+
int m = KEY_MODMASK(key.state);
bool extend = (m & ShiftMask) ? true : false;
int textLen = fText ? strlen(fText) : 0;
Logged In: YES
user_id=1083970
Hi,
it is still not working for me even with 1.2.17. The key
bindings below work with numlock off, but not when numlock
is on.
<snippet file=".icewm/keys">
key "Ctrl+Alt+j" jedit
key "Ctrl+Alt+e" gnome-terminal --geometry
200x100+0+0 --hide-menubar
</snippet>
Any ideas on how to proceed? What files should I provide to
help debug this further? Thanks!