worked copy
This commit is contained in:
parent
ecf24597cb
commit
5fe135eaa3
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
### emacs ###
|
||||
*~
|
||||
\#*\#
|
@ -1,2 +1,3 @@
|
||||
# kb-layout-caps-led
|
||||
|
||||
Switching on and off capslock led according to the keyboard layout
|
||||
|
24
daemons/gnome-kb-layout-watcher.service
Normal file
24
daemons/gnome-kb-layout-watcher.service
Normal file
@ -0,0 +1,24 @@
|
||||
[Unit]
|
||||
Description=Gnome-KB-Layout-Watcher
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
PIDFile=/tmp/gnome-kb-layout-watcher.pid
|
||||
WorkingDirectory=/tmp/
|
||||
|
||||
#User=bvn13
|
||||
#Group=bvn13
|
||||
|
||||
OOMScoreAdjust=-1000
|
||||
|
||||
ExecStart=/bin/bash /home/bvn13/develop/kb-layout-caps-led/scripts/gnome-kb-layout-watcher.sh
|
||||
ExecStop=kill -0 `cat /tmp/gnome-kb-layout-watcher.pid`
|
||||
ExecReload=kill -0 `cat /tmp/gnome-kb-layout-watcher.pid` && /bin/bash /home/bvn13/develop/kb-layout-caps-led/scripts/gnome-kb-layout-watcher.sh
|
||||
|
||||
TimeoutSec=300
|
||||
TimeoutStartSec=0
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
27
daemons/kb-layout-signal-watcher.service
Normal file
27
daemons/kb-layout-signal-watcher.service
Normal file
@ -0,0 +1,27 @@
|
||||
[Unit]
|
||||
Description=KB-Layout-Signal-Watcher
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
PIDFile=/tmp/kb-layout-signal-watcher.pid
|
||||
WorkingDirectory=/tmp/
|
||||
|
||||
User=root
|
||||
#Group=root
|
||||
|
||||
OOMScoreAdjust=-1000
|
||||
|
||||
Environment=PATH=/bin/
|
||||
|
||||
ExecStart=/bin/bash /home/bvn13/develop/kb-layout-caps-led/scripts/kb-layout-signal-watcher.sh
|
||||
ExecStop=kill -0 `cat /tmp/kb-layout-signal-watcher.pid`
|
||||
ExecReload=kill -0 `cat /tmp/kb-layout-signal-watcher.pid` && /bin/bash /home/bvn13/develop/kb-layout-caps-led/scripts/kb-layout-signal-watcher.sh
|
||||
|
||||
TimeoutSec=300
|
||||
TimeoutStartSec=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
3
draft/get-current-layout.sh
Executable file
3
draft/get-current-layout.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
gsettings get org.gnome.desktop.input-sources mru-sources | sed -e 's!\[!!g; s!\]!!g; s!), (!,!g; s!(!!; s!)!!g; s! !!g;' | awk -F, '{print $2}' | sed "s/'//g"
|
5
draft/get-main-layout.sh
Executable file
5
draft/get-main-layout.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
#gsettings get org.gnome.desktop.input-sources mru-sources
|
||||
|
||||
gsettings get org.gnome.desktop.input-sources sources | sed -e 's!\[!!g; s!\]!!g; s!), (!,!g; s!(!!; s!)!!g; s! !!g;' | awk -F, '{print $2}' | sed "s/'//g"
|
3
draft/turn-on.sh
Executable file
3
draft/turn-on.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo 1 | sudo tee '/sys/class/leds/input3::capslock/brightness'
|
18
scripts/gnome-kb-layout-watcher.sh
Normal file
18
scripts/gnome-kb-layout-watcher.sh
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo $$ > /tmp/gnome-kb-layout-watcher.pid
|
||||
|
||||
MAIN_KB_LAYOUT=$(gsettings get org.gnome.desktop.input-sources sources | sed -e 's!\[!!g; s!\]!!g; s!), (!,!g; s!(!!; s!)!!g; s! !!g;' | awk -F, '{print $2}' | sed "s/'//g")
|
||||
|
||||
while :
|
||||
do
|
||||
CURRENT_KB_LAYOUT=$(gsettings get org.gnome.desktop.input-sources mru-sources | sed -e 's!\[!!g; s!\]!!g; s!), (!,!g; s!(!!; s!)!!g; s! !!g;' | awk -F, '{print $2}' | sed "s/'//g")
|
||||
|
||||
if [[ "$CURRENT_KB_LAYOUT" == "$MAIN_KB_LAYOUT" ]]; then
|
||||
echo "1" > /tmp/kb-layout
|
||||
else
|
||||
echo "0" > /tmp/kb-layout
|
||||
fi
|
||||
|
||||
sleep .1
|
||||
done
|
27
scripts/kb-layout-signal-watcher.sh
Normal file
27
scripts/kb-layout-signal-watcher.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo $$ > /tmp/kb-layout-signal-watcher.pid
|
||||
|
||||
CAPS_INPUT=$(ls /sys/class/leds/ | grep caps | head -n 1)
|
||||
|
||||
echo $CAPS_INPUT
|
||||
|
||||
PREVIOUS_KB_LAYOUT=""
|
||||
|
||||
while :
|
||||
do
|
||||
CURRENT_KB_LAYOUT=$(cat /tmp/kb-layout)
|
||||
|
||||
if ! [[ "$PREVIOUS_KB_LAYOUT" == "$CURRENT_KB_LAYOUT" ]]; then
|
||||
if [[ "$CURRENT_KB_LAYOUT" == "1" ]]; then
|
||||
echo 0
|
||||
echo 0 | sudo tee "/sys/class/leds/$CAPS_INPUT/brightness"
|
||||
else
|
||||
echo 1
|
||||
echo 1 | sudo tee "/sys/class/leds/$CAPS_INPUT/brightness"
|
||||
fi
|
||||
PREVIOUS_KB_LAYOUT="$CURRENT_KB_LAYOUT"
|
||||
fi
|
||||
|
||||
sleep .1
|
||||
done
|
Loading…
Reference in New Issue
Block a user