24 |
{ |
{ |
25 |
local value="$1" |
local value="$1" |
26 |
local rate |
local rate |
27 |
local CONFIG="${MCORE_CONFIG_PATH}/fluxbox/autostart/keyboard" |
local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/fluxbox/autostart/keyboard" |
28 |
|
|
29 |
case ${value} in |
case ${value} in |
30 |
slow) rate="1000 10" ;; |
slow) rate="1000 10" ;; |
40 |
# rebuild autostart file |
# rebuild autostart file |
41 |
helper_rebuild_fluxbox_autostart |
helper_rebuild_fluxbox_autostart |
42 |
|
|
43 |
x11runas "xset r rate ${rate}" |
if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
44 |
|
then |
45 |
|
x11runas "xset r rate ${rate}" |
46 |
|
fi |
47 |
} |
} |
48 |
|
|
49 |
get_input_keymap() |
get_input_keymap() |
50 |
{ |
{ |
51 |
local keymap |
local keymap |
52 |
keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}') |
if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && pidof X &> /dev/null |
53 |
rvecho "keymap" |
then |
54 |
|
keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}') |
55 |
|
else |
56 |
|
keymap=$(grep "Option.*XkbLayout" ${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf \ |
57 |
|
| sed -e 's:\"::' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g') |
58 |
|
fi |
59 |
|
rvecho "${keymap}" |
60 |
} |
} |
61 |
|
|
62 |
# set_input_keyboard |
# set_input_keyboard |
63 |
set_input_keymap() |
set_input_keymap() |
64 |
{ |
{ |
65 |
local value="$1" |
local value="$1" |
66 |
local CONFIG="/etc/X11/xorg.conf.d/25-layout.conf" |
local CONFIG="${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf" |
67 |
|
|
68 |
[[ -z ${value} ]] && help_input_keymap && return 1 |
[[ -z ${value} ]] && help_input_keymap && return 1 |
69 |
|
|
70 |
clearconfig |
# systemd support |
71 |
|
if [ -x $(type -P localectl) ] |
72 |
addconfig 'Section "InputClass"' |
then |
73 |
addconfig ' Identifier "keyboard layout"' |
# console keymap |
74 |
addconfig ' MatchIsKeyboard "on"' |
localectl set-keymap "${value}" |
75 |
addconfig " Option \"XkbLayout\" \"${value}\"" |
# x11 keymaps |
76 |
addconfig 'EndSection' |
localectl set-x11-keymap "${value}" |
77 |
|
else |
78 |
x11runas "setxkbmap ${value}" |
clearconfig |
79 |
|
addconfig 'Section "InputClass"' |
80 |
|
addconfig ' Identifier "keyboard layout"' |
81 |
|
addconfig ' MatchIsKeyboard "on"' |
82 |
|
addconfig " Option \"XkbLayout\" \"${value}\"" |
83 |
|
addconfig 'EndSection' |
84 |
|
fi |
85 |
|
|
86 |
|
if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
87 |
|
then |
88 |
|
x11runas "setxkbmap ${value}" |
89 |
|
fi |
90 |
} |
} |