Wie richte ich Ubuntu ein, um NumLock automatisch einzuschalten, wenn eine externe Tastatur angeschlossen ist, und auszuschalten, wenn dies nicht der Fall ist?

12

Die Aktivierung von NumLock ist praktisch, wenn Sie eine externe Tastatur in voller Größe verwenden (mit Tastatur) und sehr ungünstig, wenn Sie die eingebaute Tastatur verwenden (statt Fn drücken Sie statt der Buchstaben auf der rechten Seite) / p>

Also muss ich NumLock jedes Mal einschalten, wenn ich eine externe Tastatur anschließe (oder mit diesem boote) und jedes Mal, wenn ich eine externe Tastatur abziehe (oder davon losgetrennt). Und ich mache das häufig, weil ich lieber eine externe Tastatur in voller Größe benutze, aber nicht genug (nur 3) USB-Anschlüsse, um es mit einer Maus, einem 3G-Modem und einem externen Festplattenlaufwerk zu verbinden.

>

Kann ich das automatisieren? Scheint eine sehr formalisierbare, logisch einfache Aufgabe: Wenn eine USB-Tastatur angeschlossen ist (irgendein Gerät in / dev vorhanden?) - NumLock ist eingeschaltet, wenn nicht - NumLock ist aus. Die integrierte Tastatur meines Laptops ist PS / 2-Anschluss, extern ist USB.

Vielleicht sollte ich es selbst programmieren, aber wo soll es in diesem Fall stehen?

Ich benutze Ubuntu 10.10.

    
Ivan 03.10.2010, 23:06
quelle

4 Antworten

13

Installieren Sie zunächst numlockx ( klicken Sie hier, um numlockx zu installieren). Im Grunde können Sie damit Skripts schreiben, um den Status von Num Lock festzulegen - siehe die numlockx man-Seite für Details.

Als nächstes müssen wir uns mit dem Spaß an den udev-Regeln beschäftigen. Zuerst müssen wir herausfinden, wie die Tastatur identifiziert ist. Sie können dies tun, indem Sie

ls /dev/input/by-id/

Dies sollte Ihnen einige lesbare Dateinamen geben (das sind weiche Links zu dem nicht besonders lesbaren wahren Namen). Meine Tastatur war

/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd

Also müssen wir alle Informationen über die Tastatur herausfinden. Ich habe

gemacht
udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)

Aber fügen Sie dort natürlich Ihren eigenen Pfad ein. Sie erhalten viele Informationen, aber Sie möchten sich den ersten Block ansehen, der die Tastatur nennt und SUBSYSTEMS=="usb" hat. (Anstatt den USB-Controller oder was auch immer). In meinem Fall war das:

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3':
    KERNELS=="3-2.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}==" 50mA"
    ATTRS{urbnum}=="6284"
    ATTRS{idVendor}=="058f"
    ATTRS{idProduct}=="9410"
    ATTRS{bcdDevice}=="0122"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="1.5"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="3"
    ATTRS{devpath}=="2.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="KINESIS FREESTYLE KB700"
    ATTRS{product}=="KB700 Kinesis Freestyle"

Jetzt haben wir genug Informationen, um einige Regeln zu schreiben. Verwende deinen Lieblingseditor, um /etc/udev/rules.d/10-local.rules zu erstellen und lege Folgendes fest:

BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on"
BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"

Geben Sie auch hier den Namen Ihrer Tastatur und die ATTRS ein, falls sie anders ist. Dann sollte es funktionieren:)

Hinweis: Ich konnte das nicht testen, obwohl ich alle Befehle ausgeführt habe, bis die Regeldatei erstellt wurde. Und die Quellen für den Fall, dass Sie weitere Untersuchungen durchführen müssen, sind:

Hamish Downer 06.10.2010, 01:13
quelle
1

Wenn Sie Gnome3-Shell verwenden.

Installieren Sie numlockx

Starten Sie dann die Startup-Anwendungspräferenzen gnome-session-properties

Bild (neue Benutzer können keine Bilder posten :))

Klicken Sie auf Hinzufügen

Schreibe alles in das Namensfeld und in das Befehlsfeld kopiere dies: numlockx on

Bild

    
Lukas Ignatavičius 27.09.2011 10:24
quelle
0

Ich bin nicht sicher, was ich anders mache, weil mein Numlock auf dieser Tastatur standardmäßig aktiviert ist (Dies ist eine Mac Pro Aluminium Tastatur). Es gibt einige Anweisungen hier , die den Trick machen sollten.

Hoffe, das hilft!

    
Craig Maloney 05.10.2010 15:47
quelle
0

Wenn Sie gnome-shell verwenden, können Sie Numlock & amp; Capslock-Status auf der Erweiterung "Lock Keys". Bitte, finde es hier

    
Tatui1969 04.01.2014 16:30
quelle

Tags und Links