GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie ordnet man die zu löschende Numlock-Taste neu zu?

Aufgrund des Layouts meiner Tastatur möchte ich Numlock dauerhaft gedrückt halten und die Numlock-Taste als Löschtaste verwenden. Ich kann das anscheinend nicht zum Laufen bringen. Irgendwelche Ideen, wie dies zu tun wäre, wären willkommen.

Bearbeiten:Ich verwende Ubuntu 16

Hier ist, was ich versucht habe:

Xmodmap mit numlockx verwenden

Inspiriert von dieser Frage. Soweit ich weiß, ist xmodmap veraltet, also ist das wahrscheinlich keine gute Idee.

  • Erstellen Sie eine Datei ~/.Xmodmap mit der Zeile keycode 77 = Delete NoSymbol
  • Führen Sie xmodmap ~/.Xmodmap aus
  • Führen Sie numlockx on aus

Dadurch kann Numlock als Löschen funktionieren und der Ziffernblock wird aktiviert, bis ich zum ersten Mal die Numlock-Taste drücke. Dann deaktiviert die Numlock-Taste den Nummernblock.

XKB verwenden

  • Bearbeiten Sie /usr/share/X11/xkb/symbols/us um key <NMLK> { [Delete, Num_Lock] }; zu haben am Ende der grundlegenden Tastaturbelegung.
  • Computer neu starten

auch versucht:

  • Bearbeiten Sie /usr/share/X11/xkb/symbols/us um replace key <NMLK> { [Delete, Num_Lock] }; am Ende der grundlegenden Tastaturbelegung.
  • Computer neu starten

Dies leidet unter ähnlichen Problemen wie die andere Methode, das Löschen von Arbeiten ist möglich, aber die Numlock-Taste schaltet den Nummernblock aus. Es scheint auch mit anderen Tasten wie der Windows-Taste zu verwechseln, wenn der Ziffernblock aktiviert ist. Ich mag es, dass ich die Kontrolle über die Num-Taste mit Umschalt + Num-Taste bekomme. Ich kann keinen Unterschied zwischen der Verwendung von replace und der Nichtverwendung feststellen.

Akzeptierte Antwort:

Hier ist eine Möglichkeit, dies nur mit xkb zu tun, was meiner Meinung nach der Verwendung von xmodmap überlegen ist. Diese Antwort enthält mehr Details darüber, was ich erreichen wollte, als die ursprüngliche Frage. Xmodmap und xkb spielen nicht immer gut zusammen, dieser Ansatz ermöglicht viel mehr Flexibilität:

Das kommt alles von:https://wiki.archlinux.org/index.php/X_keyboard_extension

Es gibt eine Liste verfügbarer Keysyms, die hier zu funktionieren scheinen:http://docs.ev3dev.org/projects/grx/en/ev3dev-stretch/c-api/input_keysyms.html

Dies geschieht manuell, damit Sie mit der Konfiguration beginnen können, die bereits auf Ihrem Computer vorhanden ist, um Kompatibilitätsprobleme mit verschiedenen Tastaturen zu vermeiden.
Beispiele für frühere Ausführungen davon finden Sie in config_files/linux/keyboards

Beginnen Sie mit dem Ausführen von xkbcomp $DISPLAY output.xkb um Ihre aktuellen Tastatureinstellungen
abzurufen.
Fügen Sie dann hinzu:

    interpret osfLeft{
        repeat= True;
        action = RedirectKey(keycode=<LEFT>, clearmodifiers=Lock);
    };
    interpret osfRight{
        repeat= True;
        action = RedirectKey(keycode=<RGHT>, clearmodifiers=Lock);
    };
    interpret osfDown{
        repeat= True;
        action = RedirectKey(keycode=<DOWN>, clearmodifiers=Lock);
    };
    interpret osfUp{
        repeat= True;
        action = RedirectKey(keycode=<UP>, clearmodifiers=Lock);
    };
    interpret osfEndLine{
        repeat= True;
        action = RedirectKey(keycode=<END>, clearmodifiers=Lock);
    };
    interpret osfBeginLine{
        repeat= True;
        action = RedirectKey(keycode=<HOME>, clearmodifiers=Lock);
    };
    interpret osfEscape{
        repeat=True;
        action = RedirectKey(keycode=<ESC>, clearmodifiers=Lock);
    };

zum Kompatibilitätsabschnitt der generierten Datei.

Verwandte:Installieren von Programmen in Root- vs. Home-Partitionen in Ubuntu?

Fügen Sie am Ende des Typenabschnitts Folgendes hinzu:

   type "CUST_CAPSLOCK" {
       modifiers= Shift+Lock;
       map[Shift] = Level2;            // Note that this maps Shift only of {Shift,Lock} to Level2. Alt+Shift will be mapped to Level2
       map[Shift+Lock] = Level3;       // but Lock+Shift won't map to Level2 even without this line.
       map[Lock] = Level3;
       level_name[Level1]= "Base";
       level_name[Level2]= "Shift";
       level_name[Level3]= "Lock";
   };
   interpret osfDelete{
       repeat=True;
       action = RedirectKey(keycode=<DELE>, clearmodifiers=Lock);
   };

Suchen Sie nach interpret Caps_Lock und die LockMods ändern zu SetMods so dass die Feststelltaste nur den Modifikator setzt, nicht sperrt.

Damit Feststelltaste + WASD als Pfeiltasten funktionieren:Bearbeiten Sie die Tasten <AD02> , <AC01> , <AC02> , <AC03> geben Sie CUST_CAPSLOCK ein und haben jeweils osfUp , osfLeft , osfDown , osfRight an dritter Stelle.

Damit Feststelltaste + HJKL als Pfeiltasten funktionieren:Bearbeiten Sie die Tasten <AC06> , <AC07> , <AC08> , <AC09> geben Sie CUST_CAPSLOCK ein und haben jeweils osfLeft , osfDown , osfUp , osfRight an dritter Stelle.

Um Feststelltaste + 0 als Home und Feststelltaste + $ als Ende zu registrieren:Bearbeiten Sie die Tasten <AE04> und <AE10> geben Sie CUST_CAPSLOCK ein und haben jeweils osfEndLine und osfBeginLine in der dritten Position.

Um zuzulassen, dass Feststelltaste + Leertaste als Escape registriert wird (praktisch für vim), bearbeiten Sie den Schlüssel <SPCE> geben Sie CUST_CAPSLOCK ein , haben space an zweiter Stelle und osfEscape an dritter Stelle.

Um die Numlock-Taste in eine Löschtaste umzuwandeln und Capslock + Numlock zu machen, machen Sie den <NMLK> Typ CUST_CAPSLOCK haben , haben Position eins und zwei haben osfDelete und Position drei haben Num_Lock

Laden Sie nun die geänderte Datei wieder auf den Server hoch mit:xkbcomp output.xkb $DISPLAY .

Wenn alles funktioniert, legen Sie die Datei irgendwo ab, ~/.Xkeymap funktioniert und erstelle ein Skript zum Beispiel mit dem Namen ~/start_keyboard.sh mit:

#!/bin/bash

xkbcomp ~/.Xkeymap $DISPLAY

Machen Sie es ausführbar (chmod u+x ~/start_keyboard.sh ) und fügen Sie das Skript Ihren Startanwendungen hinzu.


Ubuntu
  1. Neubelegung der Ein/Aus-Taste zum Löschen?

  2. Wie kann man die Feststelltaste mit der Tabulatortaste tauschen / neu zuordnen?

  3. 16.04 Löschschlüssel funktioniert nicht?

  4. Wie erzwinge ich das Löschen einer Datei?

  5. Wie lösche ich das Gnome-Panel?

So löschen Sie ein Repository und einen GPG-Schlüssel in Ubuntu

So löschen Sie ein Verzeichnis in Ubuntu 20.04

So löschen Sie eine Datei in Ubuntu

Wie lösche ich eine Domain in SolidCP?

Wie lösche ich eine Domain in WebsitePanel 2.1?

So installieren Sie Ansible unter Ubuntu 18.04