Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 176114 - Windows key as modifier not working
Summary: Windows key as modifier not working
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-26 13:35 UTC by Matthew Schultz
Modified: 2008-06-21 03:21 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Schultz 2007-04-26 13:35:03 UTC
My windows key doesn't seem to be working as a modifier key anymore.  This happened just recently and I'm not sure what the cause of it is.  I searched bugs for something similar and there had been a bug on this relating to xorg a while back. I use KDE 3.5 as desktop environment.  I also disabled all keyboard shortcuts and layouts in KDE as well and that didn't fix the problem.

Reproducible: Always

Steps to Reproduce:

Actual Results:  
Windows key is a regular button.

In Keyboard shortcuts, modifier keys tab in KDE:

KDE Modifiers:

Modifier  X11-Mod
Shift     shift
Ctrl      control
Alt       mod1
Win       mod4


xmodmap -pm
xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25)
mod1        Alt_L (0x40),  Alt_L (0x7d),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3
mod4        Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x7c)



Expected Results:  
Windows key is a modifier key.

Left win key (holding the key down) in xev:

KeyPress event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772906923, (360,240), root:(1038,265),
    state 0x10, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772906959, (360,240), root:(1038,265),
    state 0x50, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772906959, (360,240), root:(1038,265),
    state 0x10, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772906995, (360,240), root:(1038,265),
    state 0x50, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772906995, (360,240), root:(1038,265),
    state 0x10, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772907031, (360,240), root:(1038,265),
    state 0x50, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772907031, (360,240), root:(1038,265),
    state 0x10, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772907067, (360,240), root:(1038,265),
    state 0x50, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772907067, (360,240), root:(1038,265),
    state 0x10, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x3600002,
    root 0x328, subw 0x0, time 772907085, (360,240), root:(1038,265),
    state 0x50, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False
Comment 1 Matthew Schultz 2007-04-26 13:48:15 UTC
emerge --info:

Portage 2.1.2.2 (default-linux/amd64/2007.0, gcc-4.1.1, glibc-2.5-r0, 2.6.20-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.20-gentoo-r6 x86_64 Intel(R) Core(TM)2 CPU         T7200  @ 2.00GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Thu, 26 Apr 2007 12:50:01 +0000
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.15-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/ http://mirror.phy.olemiss.edu/mirror/gentoo"
LINGUAS="en ru"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi adns alsa amd64 apache2 audiofile avi bcmath bdf berkdb bitmap-fonts bzip2 calendar cdr cjk clamav cli cracklib crypt ctype cups curl curlwrappers dbus dio directfb dlloader dri dts dvb dvd dvdread emu-linux-x86 encode exif fbcon ffmpeg flac foomaticdb fortran ftp gd gdbm gif gmp gnutls gpm gsm gtk gtk2 hal hash iconv ieee1394 imagemagick imap imlib innodb ipv6 isdnlog ithreads java javascript jpeg jpeg2k json kde lcms ldap ldap-sasl libg++ logrotate lzo mad matroska mcal mhash midi mime mjpeg mmx mng mp3 mp4 mpeg msession msn mysql mysqli ncurses network nls nptl nptlonly nsplugin nvidia ogg openal opengl osc oss pam pcntl pcre pdf pdo pear perl php png posix postgres ppds pppd python qt qt3support qt4 quicktime readline reflection samba sasl sdl seamonkey session simplexml snmp soap sockets spl sqlite sse sse2 ssl subversion suhosin svg tcpd theora threads tidy tiff tokenizer transcode truetype truetype-fonts type1-fonts unicode usb v4l v4l2 vcd vorbis wddx wifi wxwindows x264 xforms xine xml xorg xpm xv xvid zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa fbdev v4l"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Donnie Berkholz (RETIRED) gentoo-dev 2007-05-02 07:27:59 UTC
Tried recompiling xorg-server since your inputproto (I'm guessing) upgrade?
Comment 3 Matthew Schultz 2007-05-05 02:25:27 UTC
I tried recompiling Xorg server but there still isn't any change.  Do you need any  additional information?
Comment 4 Matthew Schultz 2007-05-07 15:59:55 UTC
I've updated a second box recently and it is now also exhibiting the same problems as my first box with the windows key.  My first box now has all the latest upgrades including a new version of xorg (7.2), xmodmap, etc and the windows modifier key is still not working correctly.  Here is what it is set to:

keycode 115 = ISO_Level3_Shift

It behaves like a modifier key now with only one even for up and down and not multiple if you leave it pressed:

xev:

KeyPress event, serial 32, synthetic NO, window 0x2600002,
    root 0x328, subw 0x0, time 784529, (482,597), root:(486,622),
    state 0x10, keycode 115 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2600002,
    root 0x328, subw 0x0, time 784761, (482,597), root:(486,622),
    state 0x90, keycode 115 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x2600002,
    root 0x328, subw 0x0, time 785081, (482,597), root:(486,622),
    state 0x10, keycode 115 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2600002,
    root 0x328, subw 0x0, time 787113, (443,754), root:(447,779),
    state 0x90, keycode 115 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False


When I try to set something like Win+E in the KDE shortcuts area, it sees the ISO_Level3_Shift has a regular key and does not let you use it as a modifier with another key.


emerge --info:

Portage 2.1.2.2 (default-linux/amd64/2007.0, gcc-4.1.1, glibc-2.5-r2, 2.6.21-gentoo x86_64)
=================================================================
System uname: 2.6.21-gentoo x86_64 Intel(R) Core(TM)2 CPU         T7200  @ 2.00GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Mon, 07 May 2007 12:50:01 +0000
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/ http://mirror.phy.olemiss.edu/mirror/gentoo"
LINGUAS="en ru"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi adns alsa amd64 apache2 audiofile avi bcmath bdf berkdb bitmap-fonts bzip2 calendar cdr cjk clamav cli cracklib crypt ctype cups curl curlwrappers dbus dio directfb dlloader dri dts dvb dvd dvdread emu-linux-x86 encode exif fbcon ffmpeg flac foomaticdb fortran ftp gd gdbm gif gmp gnutls gpm gsm gtk gtk2 hal hash iconv ieee1394 imagemagick imap imlib innodb ipv6 isdnlog ithreads java javascript jpeg jpeg2k json kde lcms ldap ldap-sasl libg++ logrotate lzo mad matroska mcal mhash midi mime mjpeg mmx mng mp3 mp4 mpeg msession msn mysql mysqli ncurses network nls nptl nptlonly nsplugin nvidia ogg openal opengl osc oss pam pcntl pcre pdf pdo pear perl php png posix postgres ppds pppd python qt qt3support qt4 quicktime readline reflection samba sasl sdl seamonkey session simplexml snmp soap sockets spl sqlite sse sse2 ssl subversion suhosin svg tcpd theora threads tidy tiff tokenizer transcode truetype truetype-fonts type1-fonts unicode usb v4l v4l2 vcd vorbis wddx wifi wxwindows x264 xforms xine xml xorg xpm xv xvid zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa fbdev v4l"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 5 Matthew Schultz 2007-05-09 19:52:54 UTC
Looks like I didn't disable all the places I set to set the xmodmap file.  For some reason I guess it was overriding the windows key even though I wasn't overriding it in the Xmodmap file.  At any rate, I decided try something different and specify the keyboard type in the kde keyboard layouts area instead of trying to map the multimedia keys myself and that seems to work now and my windows key seems to be working correctly now:

keycode 115 = Super_L

xmodmap -pm
xmodmap:  up to 3 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_L (0x7d),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3
mod4        Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x7c)
Comment 6 quazgar 2008-06-20 23:13:26 UTC
Could this be a duplicate of #200060 ?  Did you just recently do a hal update?  The keycodes seem to have changed for evdev in comparison to the xf86 ones:

diff -yw /usr/share/X11/xkb/keycodes/evdev /usr/share/X11/xkb/keycodes/xfree86  | less
Comment 7 Matthew Schultz 2008-06-21 03:21:05 UTC
I forgot about this bug.  This is an old bug and through multiple updates, I don't have a problem anymore.  I know what evdev is and I think at the time there were several keys on my keyboard that weren't supported but as of the latest kernel I have on my machine here, gentoo-sources-2.6.24-r3, my keyboard fully supported by the kernel but still somewhat problematic with a few keys due to issues with xorg.  Apparently evdev sees all the keys but a few keys are higher than the 255 ascii table which xorg currenly doesn't support.  So the keys are not detected by xev.  Anyway, that doesn't have much to do with this bug.  My windows modifier key now is working fine and detected as Super_L.  I'm also running hal-0.5.9.1-r3 for reference.