wie bestimmt man den Zustand der caps_lock Taste ?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
swar0g
Beiträge: 289
Registriert: 12.12.2002 22:07:17
Wohnort: Hannover

wie bestimmt man den Zustand der caps_lock Taste ?

Beitrag von swar0g » 23.05.2005 13:52:02

Ich möchte, dass, wenn während des Bootens die caps_lock Taste aktiviert wurde, der Display Manager nicht startet.

Momentan wird es bei mir durch einen Kernelparameter geregelt. Nun, das ist sehr einfach, da die Kernelparameter in der /proc/cmdline stehen. Eine kleine Zeile in der /etc/init.d/gdm, und wenn vor dem booten "nogdm" übergeben wird, startet kein GDM.

Dies würde ich gerne durch caps_lock ersetzen: caps_lock on => kein GDM. Wie bestimmt man, ob die caps_lock Taste aktiviert wurde?
d3 d0 c1 d3 c9 20 cd c9 d2 2c 20 d5 c2 c5 ca 20 d3 c5 c2 d1 0a

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 23.05.2005 15:48:09

Code: Alles auswählen

if setleds | grep "CapsLock on">/dev/null; then
  echo "CapsLock on"
else
  echo "CapsLock off"
fi
Achtung: funktiioniert nur im VT und nicht in einem Pseudo Terminal

Gruß
gms

[edit]
setleds ist aus dem Package "console-tools"
[/edit]

Benutzeravatar
swar0g
Beiträge: 289
Registriert: 12.12.2002 22:07:17
Wohnort: Hannover

Beitrag von swar0g » 23.05.2005 20:35:40

Super! Genau das, was ich gesucht habe!

Code: Alles auswählen

        setleds | grep -qi 'capslock on' && exit
am Anfang der start) section in der /etc/init.d/gdm eingefügt und es läuft!

Danke!
d3 d0 c1 d3 c9 20 cd c9 d2 2c 20 d5 c2 c5 ca 20 d3 c5 c2 d1 0a

Antworten