Ich habe eine Standardtastatur mit numerischen Tasten auf der rechten Seite (ich denke, sie hat 104 Tasten). Ich möchte die Zifferntasten nur als Zifferntasten verwenden. Das heißt, ich möchte nicht, dass die NumLockZifferntasten ein- und ausgeschaltet werden.
Manchmal kommt es jedoch vor (ich weiß nicht wie, vielleicht NumLockweil ich versehentlich auf die Taste drücke), dass der Numlock ausgeschaltet wird und ich ihn erneut drücken muss. Das ist extrem nervig.
Ist es möglich, das Ausschalten von Numlock zu deaktivieren?
Mit anderen Worten: Ich möchte, dass meine Zifferntasten immer als Zifferntasten fungieren und den Nummernschalter deaktivieren .
Ich benutze Debian und LXDE (Openbox).
~/.config/openbox/autostart
und posten~/.config/openbox/rc.xml
?xmodmap
. Die einzige Frage, die noch offen ist, ist, wie man an dieses Ereignis kommt.Antworten:
Nachdem ich die Antwort hier gelesen hatte, war ich ziemlich überrascht zu sehen, dass Sie Folgendes tun können.
Also jedes Mal Num, wenn Sie drücken , wird die Numlock deaktiviert. Es wird ausgeführt
numlockx on
, wodurch die Numlock-Funktion reaktiviert wird.Der Name stammt aus meiner Ausgabe,
xev
die mir den Schlüsselcode 77 und den Namen gabNum_Lock
In @MartinVegters Fall musste er einige Sekunden warten, damit das
numlockx on
definitiv ausgeführt wird, nachdem das Ereignis von Numbehandelt wurde. Da gibt es eine Racebedingung zwischen dem Umgang mit Numlock im Kernel und der Ausführungnumlockx
.Für diesen Fall können Sie ein kleines Skript
denumlock.sh
wie schreibenund verwenden Sie es in der Schlüsselbindung
Das ist schmutzig, aber es funktioniert.
Was ich empfehle, ist das Folgende, das ich selbst nicht testen konnte. Befolgen Sie besser die ersten Antworten, die Sie verwenden möchten
Für LXDE müssen Sie jedoch den LXDE-Autostart-Mechanismus verwenden, der sich von der Openbox-Methode zum Bearbeiten der unterscheidet
~/.config/openbox/autostart
.In LXDE müssen Sie anscheinend
~/.config/lxsession/LXDE/autostart
oder mit Lubuntu bearbeiten~/.config/lxsession/Lubuntu/autostart
, das die Befehle für den Start enthält. (Siehe Arch-Dokumente und LXDE-Dokumente. ) Möglicherweise müssen Sie diese Datei erstellen und diese Zeile hinzufügen.Leider kann ich, wie gesagt, nicht testen, ob dies funktioniert, da ich nur eine VM mit LXDE habe.
quelle
<keybind key="Num_Lock">
aber leider funktioniert es nicht. Während dernumlockx on
Ausführung des Befehls wird die Funktion von <kbd> NumLock </ kbd> weiterhin als Numlock ausgeführt. So kann ich Numlock immer noch ein- / ausschalten.xmodmap
ich die von Risto Salminen vorgeschlagene Lösung ausprobierte, hat der Befehl funktioniert, aber ich habe alle meine Tastenkombinationen verloren.sleep 3; numlockx on
für die Schlüsselbindung probieren . Für die zweite Lösung haben Sie es mit dem Autostart versucht?sleep 3; /usr/bin/numlockx on
nicht funktioniert.NumLock
wirkt immer noch als Ein / Aus-Schalter./usr/bin/numlockx on
auf Ihrem System?Wenn die Tastatur Ihnen gehört (und nicht zum Beispiel Ihrem Arbeitgeber), entfernen Sie sie einfach physisch von der Tastatur .
Sie können es immer noch mit einem spitzen Gegenstand drücken, wenn Sie es jemals wirklich brauchen.
quelle
Bei meiner Laptop-Tastatur (Ubuntu 10.04) ist die Tastatursperre derzeit aktiviert.
Voila! Numlock ist jetzt deaktiviert.
Setzt es wieder zurück. (Vielleicht wäre es eine bessere Idee gewesen, nach Num_lock zu greifen, aber Sie verstehen alles).
Antworte auf @Martin Vegters Kommentar.
Ok , als Antwort auf deinen Kommentar ruiniert xmodmap deine Bindungen, verstanden.
Ich habe gerade die Openbox-Dokumentation überprüft
Schauen Sie sich ~ / .config / openbox / lxde-rc.xml an
ls -l lxde-rc.xml
(Haben Sie auch eine rc.xml? Bitte überprüfen).Nehmen Sie eine Kopie davon als Backup
(benutze einen Editor) suche nach numlock (vielleicht nmlk).
Sehen Sie so etwas?
Kommentiere es aus ODER ändere den Keybind Key-Wert zu einer Alternative, zB Alt-Numlock zum Umschalten
Z.B
Um auf Kommentar
oder
Wechseln Sie zu Alt + Numlock
Änderungen speichern und abmelden / einloggen oder neu starten.
quelle
xmodmap
Befehl (dhxmodmap -e 'keycode 77 = Escape'
) meine vorhandenen Tastenkombinationen zerstört, die in.config/openbox/lxde-rc.xml
.config/openbox/lxde-rc.xml
gibt es jedoch keine Zeile mitNumlock
oderNum_Lock
. Wenn ich einen erstelle, hat dies keine Auswirkungen: <keybind key = "Num_Lock"> <action name = "Execute"> <command> / bin / true </ command> </ action> </ keybind>Finden Sie Ihren Nummernschlüsselcode mit
xev
. In diesem Beispiel ist Num_Lock 77.Verwenden Sie xmodmap, um den Schlüsselcode neu zuzuordnen:
xmodmap -e 'keycode 77 = '
.Für alle zukünftigen X-Sessions, inside
~/.xprofile
placexmodmap -e 'keycode 77 = '
.BEARBEITEN: Hinweis: Funktioniert nicht, wenn eine Software den Num Lock-Status ändert.
quelle
xmodmap -e 'keycode 77 = '
funktioniert, aber er verursacht ein ernstes Problem: Alle meine Tastenkombinationen funktionieren nicht mehrxmodmap -e 'keycode 77 = Escape'
(YMMV, ESC scheint sicher für mich). Haben Sie eine ~ / .Xmodmap-Datei? Wenn ja, platzieren Sie stattdessen~/.xprofile
daskeycode 77 = Escape
am Ende dieser Datei.xmodmap
Befehl (dhxmodmap -e 'keycode 77 = Escape'
) meine vorhandenen Tastenkombinationen zerstört, die in.config/openbox/lxde-rc.xml
Entfernen Sie einfach die NumLock-Tastenzuordnung, indem Sie sie zu nichts zuordnen: Führen Sie zunächst NumLock aus
xev
und drücken Sie die Num- Taste (es wird wahrscheinlich 77 ausgegeben ), und führen Sie dann den Befehl aus:Dabei ist # der Schlüsselcode von NumLock.
Sie würden dies auch verwenden
~/.xprofile
, um NumLock in x-Sitzungen zu deaktivieren.quelle
xmodmap -e "remove Lock = Num_Lock"
Mit LinuxMint 17.2 und anderen Ubuntu-Versionen können Sie zu Ihrer KEYBOARD-Einstellung gehen, und dann finden Sie auf dieser Seite eine kleine Schaltfläche "Optionen".
Gehen Sie von dort zu "Verschiedene Kompatibilitätsoptionen" und aktivieren Sie "Zifferntasten geben immer Ziffern ein".
Das ist ein Lebensretter für mich. Es nervt mich, eine Zahl einzugeben und an eine andere Stelle auf der Seite verschoben zu werden. Prost! ;)
quelle
setxkbmap -option numpad:mac
oder durch EinstellenOption "XkbOptions" "numpad:mac"
von erfolgenxorg.conf
.Andere Antworten hier schlugen die Verwendung von
numlockx on
mit vorxmodmap -e 'keycode 77 ='
,numlockx on
funktionierten aber nicht mit diesemxmodmap
Befehl auf meinem System und zeigten mir eine Fehlermeldung an:Und auch das Einstellen
xmodmap -e 'keycode 77 ='
würde aus irgendeinem Grund alle meine mit vorgenommenen Tastenkombinationen entfernenxbindkeys
.Diese Antwort auf eine ähnliche Frage hat mir jedoch geholfen. Teil meines
~/.xinitrc
:Auf diese Weise macht das NumLock nichts für sich, aber wenn es mit Shift gedrückt wird, erfüllt es seinen ursprünglichen (meist unbrauchbaren) Zweck und verhindert vor allem nicht, dass es
numlockx on
auf meinem System funktioniert oder meinexbindkeys
Tastenkombinationen durcheinander bringt .quelle
Eine andere Möglichkeit, wenn Sie die numlockTastensperre dauerhaft deaktivieren möchten . Sie können dies tun, indem Sie Ihre aktuelle Keymap-Datei ändern, indem Sie den Keycode 77 ändern.
Setzen Sie diesen Wert auf "none", damit das versehentliche Drücken der Taste nichts bewirkt.
Verwenden Sie
numlockx
beim Booten, um es zu starten, und verwenden Sie die geänderte Keymap-Datei in einem der Startskripts, z . B.~/.bashrc
oder in/etc/profile
.HINWEIS: Ich habe das nicht getestet, aber es sollte funktionieren.
quelle
Unter OpenSuse 13.x mit KDE funktionierte das für mich:
Wenn NumLock aktiviert werden muss, weil es deaktiviert ist, verwenden Sie einfach
% numlockx on
.quelle
Eine etwas hackige Lösung besteht darin, einen
cron
Job hinzuzufügen , der den folgenden Befehl ausführtetwa alle 30 Sekunden, um NumLock einzuschalten.
Siehe auch
quelle
Es ist vielleicht nicht die beste Lösung, aber das hat bei mir funktioniert:
Wobei 11 die ID Ihrer Tastatur ist. Führen Sie eine
xinput
Liste durch, um die ID Ihrer Tastatur zu ermitteln (in meinem Fall 11):Natürlich
numlockx
muss installiert sein, damit das funktioniert.Erläuterung:
stdbuf -oL
Ändert die Pufferoperationen des Ausgabestreams in zeilengepuffertexinput test 11
druckt die gedrückten Tasten auf stdoutmawk -W interactive '$3==77 {printf "/usr/bin/numlockx on\n"}'
Erstellen Sie für jede Zeile, die gedruckt wird und 77 (die Num-Taste) enthält, einen Befehl/usr/bin/numlockx on
...| bash
... und leite es an bash, um es auszuführen.Sie können diesen Oneliner in eines der ersten Skripts der Desktop-Umgebung einfügen oder im Hintergrund ausführen.
quelle
Ich möchte auch, dass die Zifferntasten der Zehnertastatur immer Zahlen sind, keines der KP _...-Dinge.
Meine Lösung ist Teil meiner Remapping-Apple-Tastatur für die Verwendung mit Linux Repo.
Grundsätzlich werden Num_Lock als F20 und die Zahlen als sich selbst neu zugeordnet.
Diese Lösung liefert immer das gewünschte Ergebnis und eine zusätzliche Funktionstaste als Randnutzen.
quelle
Erstellen Sie das folgende Skript und machen Sie es mit ausführbar
chmod +x <filename>
Geben Sie den Dateipfad ein
.config/openbox/autostart
Oder platzieren Sie ihn als Cron-Job, der alle paar Minuten überprüft und das Skript ausführt, wenn die Num-Sperre deaktiviert ist.
Oder führen Sie das Skript einfach in einer Schleife aus.
Wenn Sie kein Numlockx haben, sollten Sie in der Lage sein, es zu bekommen
sudo apt-get install numlockx
quelle