Contents of /mcore-src/trunk/mcore-tools/src/modules/basic-input/input.client.class.in
Parent Directory | Revision Log
Revision 2196 -
(show annotations)
(download)
Fri Jan 10 14:43:47 2014 UTC (10 years, 8 months ago) by niro
File size: 2023 byte(s)
Fri Jan 10 14:43:47 2014 UTC (10 years, 8 months ago) by niro
File size: 2023 byte(s)
-moved daemon/client/include/input.client.class to src/modules/basic-input/input.client.class.in
1 | # $Id$ |
2 | |
3 | provide basic-input |
4 | require fluxbox |
5 | |
6 | help_input_keymap() |
7 | { |
8 | mecho "get input.keymap" |
9 | mecho " prints current keymap of xorg" |
10 | mecho |
11 | mecho "set input.keymap [keymap]" |
12 | mecho " set keymap of xorg to [keymap]" |
13 | mecho " keymaps may be: de, us, en, gr, etc" |
14 | } |
15 | |
16 | # set_input_mouse |
17 | set_input_mouse() |
18 | { |
19 | return 0 |
20 | } |
21 | |
22 | # set_input_keyboard |
23 | set_input_keyboard() |
24 | { |
25 | local value="$1" |
26 | local rate |
27 | local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/fluxbox/autostart/keyboard" |
28 | |
29 | case ${value} in |
30 | slow) rate="1000 10" ;; |
31 | fast) rate="250 100" ;; |
32 | normal) rate="" ;; |
33 | *) help_input_keyboard && return 1 ;; |
34 | esac |
35 | |
36 | clearconfig |
37 | addconfig "# ${value}" |
38 | addconfig "[startup] { nohup xset r rate ${rate} &}" |
39 | |
40 | # rebuild autostart file |
41 | helper_rebuild_fluxbox_autostart |
42 | |
43 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
44 | then |
45 | x11runas "xset r rate ${rate}" |
46 | fi |
47 | } |
48 | |
49 | get_input_keymap() |
50 | { |
51 | local keymap |
52 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && pidof X &> /dev/null |
53 | 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:\"::g' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g') |
58 | fi |
59 | rvecho "${keymap}" |
60 | } |
61 | |
62 | # set_input_keyboard |
63 | set_input_keymap() |
64 | { |
65 | local value="$1" |
66 | local CONFIG |
67 | |
68 | [[ -z ${value} ]] && help_input_keymap && return 1 |
69 | |
70 | # systemd support |
71 | if [ -x $(type -P localectl) ] |
72 | then |
73 | # console keymap |
74 | localectl set-keymap "${value}" |
75 | # x11 keymaps |
76 | localectl set-x11-keymap "${value}" |
77 | else |
78 | CONFIG="${MROOT}/etc/vconsole.conf" |
79 | clearconfig |
80 | addconfig "KEYMAP=\"${value}\"" |
81 | addconfig 'FONT="lat9w-16"' |
82 | addconfig 'FONT_MAP="8851-1_to_uni"' |
83 | |
84 | CONFIG="${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf" |
85 | clearconfig |
86 | addconfig 'Section "InputClass"' |
87 | addconfig ' Identifier "keyboard layout"' |
88 | addconfig ' MatchIsKeyboard "on"' |
89 | addconfig " Option \"XkbLayout\" \"${value}\"" |
90 | addconfig 'EndSection' |
91 | fi |
92 | |
93 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
94 | then |
95 | x11runas "setxkbmap ${value}" |
96 | fi |
97 | } |