Skip to content

XKB option shift:both_capslock causes "shift locking" #5344

Open
@lberrymage

Description

  • Sway Version:
# swaymsg -t version
sway version 1.4
  • Debug Log:

Log which consists of me following the steps below, but pressing D, then A, then E, then LShift in the application before exiting sway.

  • Configuration File:

Config

  • Steps to Reproduce:
  1. Install rustup.
  2. Run rustup default 1.43.1
  3. Install the provided sway configuration file and reload sway.
  4. Clone the Amethyst Engine repository and checkout commit 1a043f058c5e5df4563358000f47ada8e7b34c42.
  5. Run sed -i 's/\(Q\)/LShift/g' examples/fly_camera/config/input.ron from the Amethyst repository root.
  6. Assert XWayland is installed and operational (may not be necessary, but I have to due to an unrelated rendering library bug)
  7. Run WINIT_UNIX_BACKEND=x11 cargo run --example fly_camera --features vulkan (WINIT_UNIX_BACKEND=x11 may not be necessary, but again, I am forced to do this). When the project finishes compiling it should load a window in 3D space with a blue, rectangular mesh in front of the camera.
  8. Move the camera up with the "E" key. It should stop moving when you let go. Move it down with left shift. It will continue moving after you let go as if a sort of "shift lock" is enabled. If you remove the shift:both_capslock XKB option, reload sway, and run the project again, shift works as expected.

This is not the only application I have encountered this problem with. Interestingly it also affects Minecraft, particularly versions 1.12.2 and below. I have not exhaustively tested all versions, but this problem doesn't appear to be present at all in versions 1.14.4 and 1.15.2.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions