Shift Space doesn't work

All of a sudden, some program has hijacked the key combination Shift+Space and now it does nothing. If Idon’t let go of shift quickly enough after typing the I in that sentence, Iget results like this, which is slightly annoying.

I have gone through all 3 places in the settings that I can find, I have crawled through every config file I can think of, but cannot find a way to see which program has taken that hotkey and done nothing with it.

I believe it happened around the time I installed zoom (and its dependency ibus) for a meeting, but that could be a red herring. It hasn’t happened since then, and I have subsequently removed it.

You can search for any unnecessary shortcut in ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml and remove it and logout and log back in for changes to take effect. If you are unsure on which line to remove backup the current file and xfce will generate a new one next time you login.

I can’t see any reference in that file to Shift-Space Only Alt-Space is mentioned in that file. (That is one place I have already looked)
If you have any other places I can look, I would very much appreciate it.
This is the output for grep xfce-keyboard-shortucts.xml space:

      <property name="&lt;Alt&gt;space" type="empty"/>
      <property name="&lt;Shift&gt;&lt;Control&gt;&lt;Alt&gt;Up" type="string" value="move_window_up_workspace_key"/>
      <property name="&lt;Shift&gt;&lt;Control&gt;&lt;Alt&gt;Down" type="string" value="move_window_down_workspace_key"/>
      <property name="&lt;Shift&gt;&lt;Control&gt;&lt;Alt&gt;Left" type="string" value="move_window_left_workspace_key"/>
      <property name="&lt;Shift&gt;&lt;Control&gt;&lt;Alt&gt;Right" type="string" value="move_window_right_workspace_key"/>
      <property name="&lt;Control&gt;F8" type="string" value="workspace_8_key"/>
      <property name="&lt;Control&gt;F10" type="string" value="workspace_10_key"/>
      <property name="&lt;Control&gt;F11" type="string" value="workspace_11_key"/>
      <property name="&lt;Control&gt;F12" type="string" value="workspace_12_key"/>
      <property name="&lt;Control&gt;F9" type="string" value="workspace_9_key"/>
      <property name="&lt;Control&gt;&lt;Alt&gt;Up" type="string" value="up_workspace_key"/>
      <property name="&lt;Alt&gt;space" type="string" value="popup_menu_key"/>
      <property name="&lt;Alt&gt;Delete" type="string" value="del_workspace_key"/>
      <property name="&lt;Control&gt;F5" type="string" value="workspace_5_key"/>
      <property name="&lt;Control&gt;&lt;Alt&gt;Left" type="string" value="left_workspace_key"/>
      <property name="&lt;Control&gt;&lt;Alt&gt;Down" type="string" value="down_workspace_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_1" type="string" value="move_window_workspace_1_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_2" type="string" value="move_window_workspace_2_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_3" type="string" value="move_window_workspace_3_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_4" type="string" value="move_window_workspace_4_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_5" type="string" value="move_window_workspace_5_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_6" type="string" value="move_window_workspace_6_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_7" type="string" value="move_window_workspace_7_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_9" type="string" value="move_window_workspace_9_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;KP_8" type="string" value="move_window_workspace_8_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;Home" type="string" value="move_window_prev_workspace_key"/>
      <property name="&lt;Alt&gt;&lt;Control&gt;End" type="string" value="move_window_next_workspace_key"/>
      <property name="&lt;Control&gt;&lt;Alt&gt;Right" type="string" value="right_workspace_key"/>
      <property name="&lt;Control&gt;F2" type="string" value="workspace_2_key"/>
      <property name="&lt;Control&gt;F1" type="string" value="workspace_1_key"/>
      <property name="&lt;Control&gt;F6" type="string" value="workspace_6_key"/>
      <property name="&lt;Control&gt;F7" type="string" value="workspace_7_key"/>
      <property name="&lt;Control&gt;F3" type="string" value="workspace_3_key"/>
      <property name="&lt;Alt&gt;Insert" type="string" value="add_workspace_key"/>
      <property name="&lt;Shift&gt;&lt;Control&gt;&lt;Alt&gt;Up" type="string" value="move_window_up_workspace_key"/>
      <property name="&lt;Shift&gt;&lt;Control&gt;&lt;Alt&gt;Down" type="string" value="move_window_down_workspace_key"/>
      <property name="&lt;Shift&gt;&lt;Control&gt;&lt;Alt&gt;Left" type="string" value="move_window_left_workspace_key"/>
      <property name="&lt;Shift&gt;&lt;Control&gt;&lt;Alt&gt;Right" type="string" value="move_window_right_workspace_key"/>
      <property name="&lt;Super&gt;F4" type="string" value="workspace_4_key"/>

I have tried renaming that file from .xml to .bak just in case and rebooting, but that didn’t fix it either.

List xfce shortcut keys:
xfconf-query -c xfce4-keyboard-shortcuts -lv | sort | less

Shift+Space use to work… what did it do?

The original content of that file is in: /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml. If you don’t have a backup of your configuration files (that you could compare to or restore from), you could copy this file over (make a backup of your current file first), or do a diff or meld on the two file to see differences.

Another possibility is xcape.

Try pgrep --list-full xcape to see if it is running.

Thank you stargazer. There is no mention of it in that list, unfortunately.

“what did it do?” It typed a space when I was typing and hadn’t released the shift key before hitting the spacebar (which I realise now I do a lot) or scrolls back up one page if I hit shift to scroll down one page in a web browser.

lsteeger, here is your output:
2631 xcape -e Super_L Alt_L F1

It looks like pgrep removed some info from the arguments.

The actual arguments would be -e Super_L=Alt_L|F1.

This means that the Super_L key will be intercepted and automatically generate Alt_L plus F1 keystrokes.

Unfortunately, xcape is not your problem. There is no Shift key being captured by xcape. The trouble must be elsewhere.

I think this is more of a browser issue, than desktop. I don’t know anything about zoom, but you might be able to prove it is or isn’t zoom by starting your browser with a new Profile. What browser do you use, firefox??

How did you install zoom? What’s the package name?

Firefox shift space documented.

It is not restricted to any browser. Happens in terminal, application (start) menu search box, anywhere there is text input. Normally, if you are typing, you can type with shift held, and it is ignored when you press space. This is no longer the case.

Installed from the AUR using pamac: https://aur.archlinux.org/packages/zoom (and removed - currently the flatpak is installed… I’ll be adding another issue there, for the 2 packages that are permanently showing up in the updates since then, org.freedesktop.Platform and org.kde.Platform - I only mention it here in case it is relevant)

Around the same time, (I didn’t mention it earlier, because I thought that I did install it a week earlier, but now I’m not so sure) I tried to install a keyboard layout viewer (since I installed a foreign keyboard layout and wanted an onscreen visual of the layout) I believe the package was kcm-fcitx - I thought I had removed all traces of it, but I can’t be sure. Which is why I was asking if there was a way of tracking which programs have stolen the keyboard hooks.
I have been going through all the dependencies, and I think they are all removed except the ones that are required by kolourpaint and mpv. Although I wonder if libxkbcommon could also have something to do with it.

Just some tips:

To find when something was installed: grep -i PATTERN /var/log/pacman.log. The pattern could be “installed” to see what was last installed, or just view the file with less :slight_smile:

When I install or use something new, I want to know what it is going to change in my $HOME directory. I have a bash alias: alias f1='find -newermt "1 minute ago"'. This will display any file modified in the last minute.

Something to look into:

This askubuntu entry might be helpful.

Some highlights:

Use xev -event keyboard and tap key sequence to show what keycodes are being mapped
NOTE: might need to install the package xorg-xev.

Use xmodmap -pke | egrep -i 'keycode\s+65' to show what the space bar is being mapped to.

This file might have been modified, .Xmodmap.

Doc at archlinux: xmodmap - ArchWiki

This is the xev output:

keycode 65 = space NoSymbol space NoSymbol NoSymbol NoSymbol NoSymbol NoSymbol space space thinspace nobreakspace

Can’t find .Xmodmap yet - only .Xauthority and .Xclients

working through the rest of your reply now.

Edit 1: It looks like they have exactly the same problem I have. ‘xmodmap -e “keycode 65 = space space space NoSymbol NoSymbol NoSymbol NoSymbol NoSymbol space space thinspace nobreakspace”’ seems to be a workaround that fixed the issue exactly. It doesn’t explain what broke it, or how, but I should be able to put that in my .xinitrc like they did and back to work.

Edit 2: Reading through the xmodmap link, I had a thought. I also added another keyboard layout at that time [Hebrew (Biblical, Tiro)] so on a whim, I removed it, and tested, and added, and tested - and that is what broke shift-space. Even when that layout is not active. I can add a different third layout without problem, but as soon as I add that specific layout, shift-space does nothing. So I guess if I want to have that layout installed, I will have to use the workaround.

Thank you so much for your help. It was invaluable in finding not only the cause of this, but a workaround, too.

I have no experience with fcitx, but my money is on it. I did a little light reading at arch, Fcitx - ArchWiki (they have doc on almost everything) and fcitx at github (README and current/old Issues). It looks like it might have had a startup program (Settings → Session and Startup → Application Autostart) or ($HOME/.config/autostart).

Turns out that it is the keyboard layout I mentioned in Edit 2 above [Hebrew (Biblical, Tiro)]. For some reason it disables shift-space (including space with caps lock on) in all layouts even when it’s not active. I would have to try in a clean install to be sure, but uninstalling the layout fixes it, and reinstalling breaks it.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.