Can't get the left WinKey (Super_L) to function in my system

Hi, I’m not sure why this is happening I’ve never had this problem before. The Super_L key works physically and is not broken on my keyboard, but is not recognized by my system. I was researching this problem 2 days ago and gave up, but I found that the key is actually bound as “Mod4” or “Mod5”, I tried remapping it but no progress sadly.


The problem: When I try to bind keys for Xfce4 (Menu > Keyboard > Application Shortcuts), when I press Super_L it doesn’t get recognized as anything at all, as if I didn’t press a key. But Super_R works just fine.

Any suggestions?

No doubt it is ksuperkey that is controlling your left super key.

Check here for more informatiion

2 Likes

Thanks for the info :slight_smile: I did read the entire post.

What I gathered was this: 1) comment out the ksuperkey -e lines from your .xinitrc or .xprofile (I only have .xprofile)

This is what mine looks, and probably some stuff in it is a leftover from a year ago when I used this system xD

#!/bin/sh

# sourced at boot by ~/.xinitrc and most display managers

export XDG_CONFIG_HOME="$HOME/.config"
export PATH="$HOME/.local/bin:$PATH"

#nvidia-settings -l &
#exec openbox-session
#xmodmap ~/.xmodmap-`uname -n`
#picom -b &
nm-applet &
volumeicon &
nitrogen --restore &
xfce4-power-manager &
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
gnome-keyring-daemon --start --components=pkcs11 &
#ksuperkey -e 'Super_L=Alt_L|F1' &
#ksuperkey -e 'Super_R=Alt_L|F1' &
nvidia0settings -l
xset dpms 600 900 1200
xset r rate 350 60

I rebooted, and it looks like this had some effect because my Super_R is not executing rofi anymore. However I can’t still get the feedback from running xev to my Super_L

xev only prints X events. To see if the key actually does something, you need to go a little deeper. Go to /dev/input/by-path in your system to see which event is assigned to your keyboard. Mine is event9. Now, you can do this to see if the keystrike sends something.

# od -tx2 /dev/input/eventX (X is your actual event number in the system)

The actual event is in this format if you really wanna see it.

struct input_event {
        struct timeval time;
        __u16 type;
        __u16 code;
        __s32 value;
};
2 Likes

Interesting :smiley: never knew of this, it looks like it’s event2 for me. In this case, the button sends absolutely Nothing.

I tested around with xkeycaps a gui app, and edited the L_Super there to something else and it worked but not the way I needed it. And yes I removed all the configs it generated on save, cause it looks like xkeycaps is selecting a wrong keyboard for me


I don’t know if this is gonna help, but my keyboard is an “non-usb” keyboard HP KB-0316, and if anyone wonders why a non-usb kb then the answer is, Win7 didn’t support usb keyboards during install xD (as if they intentionally made it that way).

Could be wrong keyboard setting.

$ setxkbmap -print -verbose 10

Follow this link to check/config.

https://wiki.archlinux.org/title/Xorg/Keyboard_configuration

While I scrolled through this, I noticed xkb_geometry { include "pc(pc105)" }; so this actually means I have 105 keys? Because I googled, the exact model of kb and asked how many keys it has google gave me 104 as first result xD and in xkeycaps I picked the 104 key keyboard so maybe this is why it felt so awkward that I had to delete the configs every time, like some key would stop working etc.

$ setxkbmap -print -verbose 10

Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     ee,us
variant:    us,
options:    compose:caps-altgr,grp:lctrl_lwin_rctrl_menu
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+ee(us)+us:2+inet(evdev)+group(lctrl_lwin_rctrl_menu)+compose(caps-altgr)
geometry:   pc(pc105)
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "pc+ee(us)+us:2+inet(evdev)+group(lctrl_lwin_rctrl_menu)+compose(caps-altgr)"	};
	xkb_geometry  { include "pc(pc105)"	};
};

This is 105.

Use 104 may help in your case.

1 Like

My keyboard definitely is the 105, I tried showkey --scancodes again in the tty terminal, it doesn’t register as anything for 2 keys which Super_L & key75 (1 left from CTRL_R) on 105 keyboard pic

Maybe it is default setting for a non-usb keyboard? No clue, because I just used Win10 few days ago on this pc and I am 1000% sure that the Windows key worked, as I use it all the time to open up start menu. Pretty sure it’s some config which must be giving this weird behavior

Edit: I wasn’t able to solve the issue, maybe I just need a new keyboard :smiley: or… on an unbusy evening, I’ll tackle the issue once more and see if I can make any progress to get these keys to work with some tinkering. Of course I will edit and add my steps if I do manage to get them to work!