Ich habe einen Ubuntu 20 LTS-Laptop mit spanischer QWERTZ-Tastatur. Um beim Programmieren Backticks und andere Sonderzeichen einfacher finden zu können, habe ich zusätzlich eine externe USB-Tastatur gekauft.
Ich möchte es so einrichten, dass beim Anschließen der externen Tastatur die Haupttastatur deaktiviert wird (damit ich sie oben platzieren kann, ohne dass das Drücken der Tasten zu unerwünschten Eingaben führt) und dass beim Trennen der externen Tastatur die Haupttastatur wieder aktiviert wird.
Ich habe mir ein Skript ausgedacht, das als Daemon ausgeführt wird und abfragt, ob die externe Tastatur angeschlossen ist.
#!/bin/bash
while true; do
if [ $(xinput -list | grep "SEM USB Keyboard" | wc -l) -gt 0 ]; then
echo "External keyboard found"
xinput --disable "AT Translated Set 2 keyboard"
echo "Main keyboard disabled"
else
echo "External keyboard NOT found"
xinput --enable "AT Translated Set 2 keyboard"
echo "Main keyboard enabled"
fi
echo "Waiting..."
sleep 5
done
Hier zwei Fragen.
- Das Skript funktioniert einwandfrei, wenn es im Vordergrund ausgeführt wird. Im Hintergrund funktioniert es jedoch folgendermaßen:
setsid kb-disabler-daemon.sh >/dev/null 2>&1 < /dev/null &
Wenn die externe Tastatur getrennt wird, kann sie die Haupttastatur nicht mehr aktivieren. Was mache ich falsch?
- Gibt es eine einfachere Möglichkeit, dies zu tun? Vielleicht eine Utility-App oder eine Art Konfiguration, die dies erledigt?