From nobody Wed Mar 06 15:15:46 2024 X-Original-To: x11@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tqbbk65smz5CmJ3 for ; Wed, 6 Mar 2024 15:15:46 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tqbbk46GQz4Y4F for ; Wed, 6 Mar 2024 15:15:46 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1709738146; a=rsa-sha256; cv=none; b=hbrTJIg1lLUsb01unL6vMQL1+7gKR4IIEam64BhDaqZb08ju8/JqDA3JvFMfD0WSAY5E9N BzWWQ1LXSXMoJLKuh5m32FwPX6eZkDe/IKsJiCUw7jDMWUoD1pn+rDO5bxazVr0+ABWXxi HP4v8CfXt1QUU1jOHOB8DTIEZDlQlVGSaWcIb+Y8oVmdUodbjmglHd7W9VXfZQTohvXOtP PqoxUDrV6dv9Itwu3lh2msm0bBziBn8K3XdfILMeodv4UMfNASVYoBxJqFPZVQJdFcq1NJ IhCvC+NJlXDb77hK9rFKVASTDNoNcyVyewkqs+g2+Vfpf+oUF+9NZu+KBTQL7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1709738146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Q0Bv/qm/7xXOkfIFnfqnDJX8ZIpn7fumj1fStWYQ+vw=; b=GFGmcOzgQCxoFMxCbFpnCxSSA+S2sse4wjqOTdQgK6NUGpifHqnrBNVw9Kx3tUYOIi86Pk uCIoAhluO881RKpR/k+ijYc3k7Wb/9L/xqw1VCM3Tj/qQGpG0O9vNl2fam45MDHm56WQHj tZ3oZAJw3/zMOW/JpxVdq7OOHof3kxQP11xxSkxTWuUzJUupjaw+PgBgtSNSbJ0BIVfu96 9czd6ELuSkvClVRC1QFxkfg2rd+P7dLeoj67cwxD/5i4gAQZDJTcH4zP56bzo1Qwi3wCpb cbvcayDIoMgdJvqeoQeNdD470QwY/Gd18BgNPwe4lD0GjTf43Q2HwkXT9HIdYA== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tqbbk3jLYzvvY for ; Wed, 6 Mar 2024 15:15:46 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 426FFkTL058999 for ; Wed, 6 Mar 2024 15:15:46 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 426FFktQ058998 for x11@FreeBSD.org; Wed, 6 Mar 2024 15:15:46 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" From: bugzilla-noreply@freebsd.org To: x11@FreeBSD.org Subject: maintainer-feedback requested: [Bug 277531] x11/xorg: "Menu" key works on some keyboards not on others Date: Wed, 06 Mar 2024 15:15:46 +0000 X-Bugzilla-Type: request X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: x11@FreeBSD.org X-Bugzilla-Flags: maintainer-feedback? Message-ID: In-Reply-To: References: X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: X11 List-Archive: https://lists.freebsd.org/archives/freebsd-x11 List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-x11@freebsd.org X-BeenThere: freebsd-x11@freebsd.org MIME-Version: 1.0 Bugzilla Automation has asked freebsd-x11 (Nobody) for maintainer-feedback: Bug 277531: x11/xorg: "Menu" key works on some keyboards not on others https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D277531 --- Description --- While it took a while to track down[1], the Menu key (usually to the right = of the spacebar on the standard 105-key keyboard) seems to send two different key-codes. I have USB keyboard plugged into my laptop. Pressing the Menu key on the laptop keyboard sends keycode 147 which gets translated to "XF86MenuKB" whi= le pressing the same Menu key on the external USB keyboard sends keycode 135 w= hich gets translated to the "Menu" keysym: $ xev 2>/dev/null | awk '/^Key/{k=3D$1}/keysym/{sub(/, same_screen.*/, "");print k, $0}' KeyPress state 0x10, keycode 147 (keysym 0x1008ff65, XF86MenuKB) KeyRelease state 0x10, keycode 147 (keysym 0x1008ff65, XF86MenuKB) KeyPress state 0x10, keycode 135 (keysym 0xff67, Menu) KeyRelease state 0x10, keycode 135 (keysym 0xff67, Menu) Critically, AFAICT, most applications expect/respect the "Menu" keysym, but ignore the "XF86MenuKB" symbol. Thus, if I'm in Firefox or Chromium and hit the Menu key on my laptop, it does nothing; if I hit the Menu key on my external keyboard, it invokes the right-click menu. In that Reddit thread[= 1], it seems to be every application we've thrown at it -- KDE for the OP; browsers, office applications, and other applications for me. It looks like some changes were made a couple years ago[2] and someone else butting their head against the issue[3]. It looks like the solution might involve modifying /usr/local/share/X11/xkb/symbols/inet so that the line currently reading key { [ XF86MenuKB ] }; gets changed, replacing "XF86MenuKB" with "Menu". (I'm not sure there's a way to update every application that expects "Menu"= to also allow "XF86MenuKB" as a synonym). I can provide additional detail or debugging output if needed (output of `xinput --list --long` and `setxkbmap -print` provided at the bottom of thi= s; the "SEM" is the external USB keyboard). --------- [1] original Reddit thread wherein this was tracked down: https://www.reddit.com/r/freebsd/comments/1b6gi5n/keyboard_menu_key_doesnt_= work _on_freebsd14_kde5/ [2] https://lists.freebsd.org/pipermail/freebsd-current/2020-March/075495.html [3] http://www.lemis.com/grog/diary-mar2020.php?subtitle=3DDaily%20teevee%20upd= ate&ar ticle=3DD-20200306-002910#D-20200306-002910 ------------ =E2=8E=A1 Virtual core pointer id=3D2 [master pointer (3)] Reporting 8 classes: Class originated from: 12. Type: XIButtonClass Buttons supported: 12 Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Hor= iz Wheel Right" None None None None None Button state: Class originated from: 12. Type: XIValuatorClass Detail for Valuator 0: Label: Rel X Range: 1472.000000 - 5772.000000 Resolution: 69000 units/m Mode: relative Class originated from: 12. Type: XIValuatorClass Detail for Valuator 1: Label: Rel Y Range: 1408.000000 - 5086.000000 Resolution: 118000 units/m Mode: relative Class originated from: 12. Type: XIValuatorClass Detail for Valuator 2: Label: Rel Horiz Scroll Range: 0.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 12. Type: XIValuatorClass Detail for Valuator 3: Label: Rel Vert Scroll Range: 0.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 12. Type: XIValuatorClass Detail for Valuator 4: Label: Abs MT Pressure Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 12. Type: XIScrollClass Scroll info for Valuator 2 type: 2 (horizontal) increment: 113.000000 flags: 0x0 Class originated from: 12. Type: XIScrollClass Scroll info for Valuator 3 type: 1 (vertical) increment: 113.000000 flags: 0x0 =E2=8E=9C =E2=86=B3 Virtual core XTEST pointer id=3D4 [slave pointer (2)] Reporting 3 classes: Class originated from: 4. Type: XIButtonClass Buttons supported: 10 Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Hor= iz Wheel Right" None None None Button state: Class originated from: 4. Type: XIValuatorClass Detail for Valuator 0: Label: Rel X Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 4. Type: XIValuatorClass Detail for Valuator 1: Label: Rel Y Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative =E2=8E=9C =E2=86=B3 System mouse id=3D6 [slave pointer (2)] Reporting 7 classes: Class originated from: 6. Type: XIButtonClass Buttons supported: 12 Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Hor= iz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" No= ne Button state: Class originated from: 6. Type: XIValuatorClass Detail for Valuator 0: Label: Rel X Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 6. Type: XIValuatorClass Detail for Valuator 1: Label: Rel Y Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 6. Type: XIValuatorClass Detail for Valuator 2: Label: Rel Horiz Scroll Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 6. Type: XIValuatorClass Detail for Valuator 3: Label: Rel Vert Scroll Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 6. Type: XIScrollClass Scroll info for Valuator 2 type: 2 (horizontal) increment: 120.000000 flags: 0x0 Class originated from: 6. Type: XIScrollClass Scroll info for Valuator 3 type: 1 (vertical) increment: 120.000000 flags: 0x0 =E2=8E=9C =E2=86=B3 SynPS/2 Synaptics TouchPad id=3D12 [slave pointer (2)] Reporting 8 classes: Class originated from: 12. Type: XIButtonClass Buttons supported: 12 Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Hor= iz Wheel Right" None None None None None Button state: Class originated from: 12. Type: XIValuatorClass Detail for Valuator 0: Label: Rel X Range: 1472.000000 - 5772.000000 Resolution: 69000 units/m Mode: relative Class originated from: 12. Type: XIValuatorClass Detail for Valuator 1: Label: Rel Y Range: 1408.000000 - 5086.000000 Resolution: 118000 units/m Mode: relative Class originated from: 12. Type: XIValuatorClass Detail for Valuator 2: Label: Rel Horiz Scroll Range: 0.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 12. Type: XIValuatorClass Detail for Valuator 3: Label: Rel Vert Scroll Range: 0.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 12. Type: XIValuatorClass Detail for Valuator 4: Label: Abs MT Pressure Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 12. Type: XIScrollClass Scroll info for Valuator 2 type: 2 (horizontal) increment: 113.000000 flags: 0x0 Class originated from: 12. Type: XIScrollClass Scroll info for Valuator 3 type: 1 (vertical) increment: 113.000000 flags: 0x0 =E2=8E=A3 Virtual core keyboard id=3D3 [master keyboard (2)] Reporting 1 classes: Class originated from: 13. Type: XIKeyClass Keycodes supported: 248 =E2=86=B3 Virtual core XTEST keyboard id=3D5 [slave=20 keyboard (3)] Reporting 1 classes: Class originated from: 5. Type: XIKeyClass Keycodes supported: 248 =E2=86=B3 System keyboard multiplexer id=3D7 [slave=20 keyboard (3)] Reporting 1 classes: Class originated from: 7. Type: XIKeyClass Keycodes supported: 248 =E2=86=B3 ACPI video extension id=3D8 [slave=20 keyboard (3)] Reporting 1 classes: Class originated from: 8. Type: XIKeyClass Keycodes supported: 248 =E2=86=B3 Power Button id=3D9 [slave=20 keyboard (3)] Reporting 1 classes: Class originated from: 9. Type: XIKeyClass Keycodes supported: 248 =E2=86=B3 Sleep Button id=3D10 [slave=20 keyboard (3)] Reporting 1 classes: Class originated from: 10. Type: XIKeyClass Keycodes supported: 248 =E2=86=B3 AT keyboard id=3D11 [slave=20 keyboard (3)] Reporting 1 classes: Class originated from: 11. Type: XIKeyClass Keycodes supported: 248 =E2=86=B3 SEM USB Keyboard id=3D13 [slave=20 keyboard (3)] Reporting 1 classes: Class originated from: 13. Type: XIKeyClass Keycodes supported: 248 -------------- xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)+compose(caps)+shift(both_capslock)" }; xkb_geometry { include "pc(pc105)" }; };