Contents of /mcore-src/trunk/mcore-tools/src/modules/basic-input/input.client.class.in
Parent Directory | Revision Log
Revision 2399 -
(show annotations)
(download)
Fri Aug 28 09:39:46 2015 UTC (9 years, 1 month ago) by niro
File size: 2075 byte(s)
Fri Aug 28 09:39:46 2015 UTC (9 years, 1 month ago) by niro
File size: 2075 byte(s)
-fixed whitespaces
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="${CLASS_ARGV[0]}" |
26 | local rate |
27 | |
28 | case ${value} in |
29 | slow) rate="1000 10" ;; |
30 | fast) rate="250 100" ;; |
31 | normal) rate="" ;; |
32 | *) help_input_keyboard && return 1 ;; |
33 | esac |
34 | |
35 | ${MCORE_LIBDIR}/fluxbox-autostart --add --name keyboard --exec 'nohup xset r rate ${rate} &' --comment '${value}' && |
36 | ${MCORE_LIBDIR}/fluxbox-rebuild-autostart |
37 | |
38 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
39 | then |
40 | x11runas "xset r rate ${rate}" |
41 | fi |
42 | } |
43 | |
44 | get_input_keymap() |
45 | { |
46 | local keymap |
47 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && [[ -n $(pidof X) ]] || [[ -n $(pidof Xorg) ]] |
48 | then |
49 | keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}') |
50 | else |
51 | keymap=$(grep "Option.*XkbLayout" ${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf \ |
52 | | sed -e 's:\"::g' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g') |
53 | fi |
54 | rvecho "${keymap}" |
55 | } |
56 | |
57 | # set_input_keyboard |
58 | set_input_keymap() |
59 | { |
60 | local value="${CLASS_ARGV[0]}" |
61 | local CONFIG |
62 | |
63 | [[ -z ${value} ]] && help_input_keymap && return 1 |
64 | |
65 | # systemd support |
66 | if [ -x $(type -P localectl) ] && [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
67 | then |
68 | # console keymap |
69 | localectl set-keymap "${value}" |
70 | # x11 keymaps |
71 | localectl set-x11-keymap "${value}" |
72 | else |
73 | CONFIG="${MROOT}@@SYSCONFDIR@@/vconsole.conf" |
74 | clearconfig |
75 | addconfig "KEYMAP=\"${value}\"" |
76 | addconfig 'FONT="lat9w-16"' |
77 | addconfig 'FONT_MAP="8851-1_to_uni"' |
78 | |
79 | CONFIG="${MROOT}@@SYSCONFDIR@@/X11/xorg.conf.d/00-keyboard.conf" |
80 | clearconfig |
81 | addconfig 'Section "InputClass"' |
82 | addconfig ' Identifier "keyboard layout"' |
83 | addconfig ' MatchIsKeyboard "on"' |
84 | addconfig " Option \"XkbLayout\" \"${value}\"" |
85 | addconfig 'EndSection' |
86 | fi |
87 | |
88 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
89 | then |
90 | x11runas "setxkbmap ${value}" |
91 | fi |
92 | } |