Numpad-Emulation

13

Mein neuer Laptop (Dell Inspiron 5578 ) hat keinen Ziffernblock . Bei vielen Laptops ohne dedizierte Numpad-Tasten kann über Numpad zugegriffen werden Fn, nicht jedoch über diesen. Wenn ich laufe xevund versuche, traditionelle FnCombos (z. B. Fn+ Jfür 1) zu verwenden, wird kein Ereignis angezeigt. Und die Zahlen sind nicht einmal auf den Etiketten.

AFAIU, ich kann mit der FnTaste keine Verknüpfung erstellen , da diese Fnnicht an das Betriebssystem übergeben wird. Aber ich könnte theoretisch stattdessen Alt_L+ Super_Lverwenden. Die Frage ist, wie man es richtig macht. Ich würde es vorziehen, dies auf einer niedrigeren Ebene als dem Tastaturlayout zu tun, um mit allen VMs gut zu funktionieren, auch mit Nicht-Linux-VMs.

Umgebung: Qubes OS . Der Host-Teil basiert auf Fedora.

Ich habe es versucht:

  • Binden Sie einen xdotool-Befehl über die Xfce-Tastenkombination. Dies führt zu verschiedenen seltsamen Ergebnissen: Der Befehl (xdotool-Taste KP_1 und Variationen) funktioniert normalerweise in Ordnung, jedoch nicht, wenn er über eine Verknüpfung aufgerufen wird. Beim Aufrufen über eine Verknüpfung besteht das Problem wahrscheinlich darin, dass die Modifizierertasten zu diesem Zeitpunkt gedrückt werden. Ich habe verschiedene Modifikationen ausprobiert ( --clearmodifiers, Keyup für Modifikatoren usw.), keine davon funktioniert gut.
  • Machen Sie dasselbe mit Autokey. Ich habe ein paar Einfrierungen von Autokey.

Nichtlösungen:

  • Externes Nummernfeld / Tastatur verwenden: Während ich ein Nummernfeld (eine Art) auf meiner externen Tastatur habe, möchte ich sogar eines auf der internen Tastatur haben, z. B. auf Reisen, und es ist unmöglich oder zumindest unangenehm, die externe Tastatur zu verwenden .
  • Zahlenreihe verwenden: Im tschechischen Layout wird die Zahlenreihe hauptsächlich für Buchstaben mit Akzent verwendet. Das von mir verwendete Layout ( Extracs-Variante von CShack ) enthält überhaupt keine Zahlen in der „Zahlenreihe“.
  • Kaufen Sie einen anderen Laptop: Es war schwierig, einen Laptop zu finden, der meinen verschiedenen Anforderungen entsprach.
v6ak
quelle
1
Informieren Sie sich über xkb und fügen Sie eine benutzerdefinierte Alt-L + Super-L-Stufe hinzu. Führen Sie auch evtestdie Suche nach einem Fn-Ereignis aus. Wenn dies auch nicht funktioniert, überprüfen Sie den HID-Deskriptor und das unformatierte HID-Ereignis. Siehe dmesgzugehörige HID - Geräte zu finden.
Dirkt
@dirkt Die Verwendung von XKB sieht aus wie das Definieren eines benutzerdefinierten Keylayouts. Das ist besser als nichts, aber es ist keine bevorzugte Lösung, da ich für jede VM (oder VM-Tempolate) dasselbe tun müsste und dies unter Nicht-Linux-VMs nicht funktionieren wird. Ich werde evtest versuchen, bin mir aber nicht sicher, ob es mit der verwendeten Tastatur funktioniert.
v6ak
Sind Sie an Alt_L + Super_L gebunden? Sie könnten AltGr oder Shift + AltGr mitxmodmap(1)
Fox
Wenn Ihre VM (welche?) Keine X-Ereignisse weiterleitet, sondern auf direktem Tastaturdurchgang besteht, können Sie wahrscheinlich eine Tastatur fälschen, indem Sie Ihre eigene /dev/input/eventXoder HID-Quelle erstellen . Dies erfordert eine Programmierung. Aber wenn es mit funktioniert xdotool, sollte es mit xkboder funktionieren xmodmap. Und ja, das Zuweisen eines einzelnen Schlüssels zu Mode_Switch oder ISO_Level3_Shift (standardmäßig AltGr) ist einfacher.
Dirkt
1
Das Problem mit AltGr oder AltGr + Shift ist, dass es bereits verwendet wird. Ich bestehe nicht auf Alt_L + Super_L, aber es scheint die beste Wahl zu sein: Sie befinden sich nebeneinander auf der internen Tastatur und es besteht eine kleine Chance, eine Tastenkombination auszublenden. Und sie können mit der linken Hand gedrückt werden. Es sieht also nach einer idealen Kombination aus
v6ak

Antworten:

0

Ich denke, der richtige Weg hierher ist, ein eigenes Tastaturlayout zu erstellen. Sie müssen dies zwar für jede VM und jedes Betriebssystem tun, aber Sie müssen es nur auf Ihren Vorlagen-VMs bereitstellen.

Sie herzustellen ist eigentlich gar nicht so schwierig, je nach Sichtweise sogar überraschend einfach. Für Linux sind Sie auf dem richtigen Weg. Verwenden Sie für Windows einfach die Auto-Taste .

(Oder lassen Sie einfach Ihr aktuelles Layout hinter sich und probieren Sie neo2 aus . Es ist für Deutsch optimiert, aber das Layout ist im Allgemeinen ausgezeichnet und Sie erhalten sofort Unterstützung unter Linux und eine ziemlich gute Autohotkey-Implementierung unter Windows. Ich verwende es seit Jahren. Der größte Nachteil ist, dass das Layout so exotisch ist, dass Sie häufig Verknüpfungen in Programmen anpassen müssen, um sie wieder verwendbar zu machen, z. B. ist hjkl in vim total beschissen.)

Franklin
quelle
Ich habe ein benutzerdefiniertes Layout erstellt, aber es ist immer noch ziemlich unvollkommen. Es wäre unvollkommen, selbst wenn es eine Windows-Version hätte. Die Installation auf templateVMs ist kein Problem, aber andere Computer sind schwierig. Erstens berücksichtigt RDP mein lokales Tastaturlayout nicht. Zweitens ist der Aufwand für verschiedene kurzlebige Windows-VMs (z. B. IE VMS) etwas hoch.
v6ak
@ v6ak Kurzlebige VMs sollten das Setup der Vorlage erben, damit dies kein Problem darstellt.
Franklin
Dies gilt für vorlagenbasierte VMs, jedoch nicht für VMs, die Sie gerade heruntergeladen haben. Und auch nicht für Remote-VMs, die nicht von Ihnen verwaltet werden. Ich bin mit dem Standard-US-Layout relativ einverstanden (wenn ich keine diakritischen Zeichen benötige, ist es meistens mit CShack kompatibel), aber die Verwendung von Zahlenreihen ist für mich nicht sehr natürlich.
v6ak