Deckeltasten am ThinkPad X41t funktionieren nicht, wenn das Gerät „transformiert“ wird

Deckeltasten am ThinkPad X41t funktionieren nicht, wenn das Gerät „transformiert“ wird

Ich habe ein ThinkPad X41t mit ArchLinux32. Auf dem Deckel befinden sich mehrere Tasten. Ich habe ihnen mit Tastencodes zugewiesen setkeycodes. Das Gerät kann „transformiert“ werden – d. h. um 180 Grad um das Scharnier gedreht und so geschlossen werden. Das Problem ist, dass diese Tasten auf dem Deckel nicht funktionieren, wenn das Gerät transformiert wird – sie erzeugen zwar immer noch Tastencodes (wie von gemeldet showkey), aber sie bewirken nichts. Mithilfe von evtesthabe ich zwei Dinge festgestellt:

  1. Deckeltasten gehören zum selben Ereignisgerät wie normale Tastaturtasten, nämlich zur „AT Translated Set 2-Tastatur“.
  2. Das „Transformieren“ ist ein erkennbares Ereignis. Hier ist der Bericht von evtest:

    Event: time ..., type 5 (EV_SW), code 1 (SW_TABLET_MODE), value 1
    Event: time ..., -------------- SYN_REPORT ------------
    Event: time ..., type 5 (EV_SW), code 1 (SW_TABLET_MODE), value 0
    Event: time ..., -------------- SYN_REPORT ------------
    

Ich habe auch versucht, mit einem kleinen Stick Tasten auf der Tastatur zu drücken, als die Transformation bereits stattgefunden hatte, aber auch das hat nichts bewirkt.

Ich vermute also, dass das Betriebssystem alle Tastendrücke von diesem bestimmten Gerät ignoriert, wenn das Transformationsereignis etwas auslöst. Gibt es eine Möglichkeit, herauszufinden, was und wie das geschieht, und wie füge ich Lid-Tasten als Ausnahme von dieser Sache hinzu, damit ich sie verwenden kann, wenn das Gerät transformiert wird?

Dank im Voraus.

Antwort1

In libinput behoben. Durch die Transformation wird die normale Tastatur nicht deaktiviert, aber der Deckel drückt nicht auf die Tasten, sodass dies kein Problem darstellt.

Antwort2

Für alle, die mit demselben Problem hierüber stolpern: Es gibt eine einfache Lösung, die mir gerade eingefallen ist.

Suchen Sie zunächst die Xinput-Geräte-ID der Tasten Ihres Tablets, indem Sie ausführen xinput. Sie sollte ungefähr so ​​aussehen:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=10   [slave  pointer  (2)]
⎜   ↳ Wacom Serial Penabled Pen stylus          id=12   [slave  pointer  (2)]
⎜   ↳ Wacom Serial Penabled Pen eraser          id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=11   [slave  keyboard (3)]

Ich bin nicht sicher, ob diese IDs in allen Fällen gleich sind, aber in meinem Fall hat der gesuchte Eintrag die ID 11. Sobald Sie diese haben, deaktivieren Sie sie durch Eingabe von xinput disable 11, und schon sollte es losgehen!

verwandte Informationen