Menu

#564 Key bindings do not work in icewm-1.2.16

key/mouse bindings
closed-fixed
icewm-1.2 (683)
5
2004-11-07
2004-08-25
No

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

Discussion

  • Adam Pribyl

    Adam Pribyl - 2004-08-26

    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?

     
  • Kostas Peletidis

    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.

     
  • Adam Pribyl

    Adam Pribyl - 2004-08-27

    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.

     
  • Marko Macek

    Marko Macek - 2004-08-29
    • assigned_to: nobody --> captnmark
     
  • Marko Macek

    Marko Macek - 2004-08-29

    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.

     
  • Kostas Peletidis

    Output of xmodmap

     
  • Kostas Peletidis

    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

     
  • Marko Macek

    Marko Macek - 2004-09-07

    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.

     
  • Marko Macek

    Marko Macek - 2004-09-07
    • labels: 319566 --> 419780
    • status: open --> open-fixed
     
  • Boon Hian Tek

    Boon Hian Tek - 2004-09-10

    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.

     
  • Boon Hian Tek

    Boon Hian Tek - 2004-09-10

    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;

     
  • Marko Macek

    Marko Macek - 2004-11-07
    • labels: 419780 --> icewm-1.2
    • status: open-fixed --> closed-fixed
     
  • Boon Hian Tek

    Boon Hian Tek - 2004-11-13

    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!

     

Log in to post a comment.