Contents of /mcore-src/trunk/mcore-tools/src/modules/basic-input/input.client.class.in
Parent Directory | Revision Log
Revision 2905 -
(show annotations)
(download)
Thu Sep 14 08:06:09 2023 UTC (12 months, 1 week ago) by niro
File size: 2042 byte(s)
Thu Sep 14 08:06:09 2023 UTC (12 months, 1 week ago) by niro
File size: 2042 byte(s)
-do not apply any fonts to fix dracut and do not apply font map, as this does not exist on mcore/alx
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 | if is_provided fluxbox |
36 | then |
37 | ${MCORE_LIBDIR}/fluxbox-autostart --add --name keyboard --exec 'nohup xset r rate ${rate} &' --comment '${value}' && |
38 | ${MCORE_LIBDIR}/fluxbox-rebuild-autostart |
39 | fi |
40 | |
41 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
42 | then |
43 | x11runas "xset r rate ${rate}" |
44 | fi |
45 | } |
46 | |
47 | get_input_keymap() |
48 | { |
49 | local keymap |
50 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && [[ -n $(pidof X) ]] || [[ -n $(pidof Xorg) ]] |
51 | then |
52 | keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}') |
53 | else |
54 | keymap=$(grep "Option.*XkbLayout" ${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf \ |
55 | | sed -e 's:\"::g' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g') |
56 | fi |
57 | rvecho "${keymap}" |
58 | } |
59 | |
60 | # set_input_keyboard |
61 | set_input_keymap() |
62 | { |
63 | local value="${CLASS_ARGV[0]}" |
64 | local CONFIG |
65 | |
66 | [[ -z ${value} ]] && help_input_keymap && return 1 |
67 | |
68 | # systemd support |
69 | if [ -x $(type -P localectl) ] && [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
70 | then |
71 | # console keymap |
72 | localectl set-keymap "${value}" |
73 | # x11 keymaps |
74 | localectl set-x11-keymap "${value}" |
75 | else |
76 | CONFIG="${MROOT}@@SYSCONFDIR@@/vconsole.conf" |
77 | clearconfig |
78 | addconfig "KEYMAP=\"${value}\"" |
79 | |
80 | CONFIG="${MROOT}@@SYSCONFDIR@@/X11/xorg.conf.d/00-keyboard.conf" |
81 | clearconfig |
82 | addconfig 'Section "InputClass"' |
83 | addconfig ' Identifier "keyboard layout"' |
84 | addconfig ' MatchIsKeyboard "on"' |
85 | addconfig " Option \"XkbLayout\" \"${value}\"" |
86 | addconfig 'EndSection' |
87 | fi |
88 | |
89 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
90 | then |
91 | x11runas "setxkbmap ${value}" |
92 | fi |
93 | } |