blob: 7a682386948e5b8b1c7f2f3d954edb27c4c51f7f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
#!/bin/bash
#brightnessctl -d 'tpacpi::lid_logo_dot' s 100
# For some reason, the TP dot only blinks consistently for > 0.7s
DEVICE='tpacpi::lid_logo_dot'
#DEVICE='input4::capslock'
LED_PATH="/sys/class/leds/$DEVICE"
function led() {
#echo $1 > "$LED_PATH/brightness"
brightnessctl -d "$DEVICE" s $1 > /dev/null
}
LONG='1.4'
SHORT='0.7'
INT_PAUSE='0.7'
EXT_PAUSE='1'
function morse() {
for w in $@; do
echo $w
echo $w | fold -w1 | while read c; do
led 1
case $c in
.)
sleep $SHORT;;
-)
sleep $LONG;;
*);;
esac
led 0
sleep $INT_PAUSE
done
sleep $EXT_PAUSE
done
}
function to_morse() {
for w in $@; do
echo ${w,,} | fold -w1 | while read c; do
case $c in
a) echo .- ;;
b) echo -... ;;
c) echo -.-. ;;
d) echo -.. ;;
e) echo . ;;
f) echo ..-. ;;
g) echo --. ;;
h) echo .... ;;
i) echo .. ;;
j) echo .--- ;;
k) echo -.- ;;
l) echo .-.. ;;
m) echo -- ;;
n) echo -. ;;
o) echo --- ;;
p) echo .--. ;;
q) echo --.- ;;
r) echo .-. ;;
s) echo ... ;;
t) echo - ;;
u) echo ..- ;;
v) echo ...- ;;
w) echo .-- ;;
x) echo -..- ;;
y) echo -.-- ;;
z) echo --.. ;;
esac
done
done
}
TEXT="$@"
AAA=( $(to_morse $TEXT) )
morse ${AAA[@]}
|