Annotation of /mcore-src/trunk/mcore-tools/daemon/client/include/input.client.class
Parent Directory | Revision Log
Revision 2097 -
(hide annotations)
(download)
Fri Sep 27 07:50:45 2013 UTC (11 years ago) by niro
File size: 2023 byte(s)
Fri Sep 27 07:50:45 2013 UTC (11 years ago) by niro
File size: 2023 byte(s)
-write vconsole.conf on systemd systems
1 | niro | 1248 | # $Id$ |
2 | |||
3 | provide basic-input | ||
4 | niro | 1921 | require fluxbox |
5 | niro | 1248 | |
6 | help_input_keymap() | ||
7 | { | ||
8 | niro | 1921 | mecho "get input.keymap" |
9 | mecho " prints current keymap of xorg" | ||
10 | mecho | ||
11 | niro | 1248 | mecho "set input.keymap [keymap]" |
12 | niro | 1921 | mecho " set keymap of xorg to [keymap]" |
13 | mecho " keymaps may be: de, us, en, gr, etc" | ||
14 | niro | 1248 | } |
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 | niro | 1921 | local value="$1" |
26 | local rate | ||
27 | niro | 2025 | local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/fluxbox/autostart/keyboard" |
28 | niro | 1921 | |
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 | niro | 2025 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
44 | then | ||
45 | x11runas "xset r rate ${rate}" | ||
46 | fi | ||
47 | niro | 1248 | } |
48 | |||
49 | niro | 1921 | get_input_keymap() |
50 | { | ||
51 | local keymap | ||
52 | niro | 2059 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && pidof X &> /dev/null |
53 | niro | 2025 | then |
54 | keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}') | ||
55 | else | ||
56 | niro | 2040 | keymap=$(grep "Option.*XkbLayout" ${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf \ |
57 | niro | 2060 | | sed -e 's:\"::g' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g') |
58 | niro | 2025 | fi |
59 | rvecho "${keymap}" | ||
60 | niro | 1921 | } |
61 | |||
62 | niro | 1248 | # set_input_keyboard |
63 | set_input_keymap() | ||
64 | { | ||
65 | local value="$1" | ||
66 | niro | 2097 | local CONFIG |
67 | niro | 1248 | |
68 | [[ -z ${value} ]] && help_input_keymap && return 1 | ||
69 | |||
70 | niro | 2040 | # systemd support |
71 | if [ -x $(type -P localectl) ] | ||
72 | then | ||
73 | niro | 2058 | # console keymap |
74 | localectl set-keymap "${value}" | ||
75 | # x11 keymaps | ||
76 | niro | 2040 | localectl set-x11-keymap "${value}" |
77 | else | ||
78 | niro | 2097 | CONFIG="${MROOT}/etc/vconsole.conf" |
79 | niro | 2040 | clearconfig |
80 | niro | 2097 | 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 | niro | 2040 | addconfig 'Section "InputClass"' |
87 | addconfig ' Identifier "keyboard layout"' | ||
88 | addconfig ' MatchIsKeyboard "on"' | ||
89 | addconfig " Option \"XkbLayout\" \"${value}\"" | ||
90 | addconfig 'EndSection' | ||
91 | fi | ||
92 | niro | 1248 | |
93 | niro | 2025 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
94 | then | ||
95 | x11runas "setxkbmap ${value}" | ||
96 | fi | ||
97 | niro | 1248 | } |