Annotation of /mcore-src/trunk/mcore-tools/src/modules/basic-input/input.client.class.in
Parent Directory | Revision Log
Revision 2905 -
(hide 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 | 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 | 2269 | local value="${CLASS_ARGV[0]}" |
26 | niro | 1921 | 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 | niro | 2863 | 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 | niro | 1921 | |
41 | niro | 2025 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
42 | then | ||
43 | x11runas "xset r rate ${rate}" | ||
44 | fi | ||
45 | niro | 1248 | } |
46 | |||
47 | niro | 1921 | get_input_keymap() |
48 | { | ||
49 | local keymap | ||
50 | niro | 2398 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && [[ -n $(pidof X) ]] || [[ -n $(pidof Xorg) ]] |
51 | niro | 2025 | then |
52 | keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}') | ||
53 | else | ||
54 | niro | 2040 | keymap=$(grep "Option.*XkbLayout" ${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf \ |
55 | niro | 2060 | | sed -e 's:\"::g' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g') |
56 | niro | 2399 | fi |
57 | niro | 2025 | rvecho "${keymap}" |
58 | niro | 1921 | } |
59 | |||
60 | niro | 1248 | # set_input_keyboard |
61 | set_input_keymap() | ||
62 | { | ||
63 | niro | 2269 | local value="${CLASS_ARGV[0]}" |
64 | niro | 2097 | local CONFIG |
65 | niro | 1248 | |
66 | [[ -z ${value} ]] && help_input_keymap && return 1 | ||
67 | |||
68 | niro | 2040 | # systemd support |
69 | niro | 2346 | if [ -x $(type -P localectl) ] && [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
70 | niro | 2040 | then |
71 | niro | 2058 | # console keymap |
72 | localectl set-keymap "${value}" | ||
73 | # x11 keymaps | ||
74 | niro | 2040 | localectl set-x11-keymap "${value}" |
75 | else | ||
76 | niro | 2197 | CONFIG="${MROOT}@@SYSCONFDIR@@/vconsole.conf" |
77 | niro | 2040 | clearconfig |
78 | niro | 2097 | addconfig "KEYMAP=\"${value}\"" |
79 | |||
80 | niro | 2197 | CONFIG="${MROOT}@@SYSCONFDIR@@/X11/xorg.conf.d/00-keyboard.conf" |
81 | niro | 2097 | clearconfig |
82 | niro | 2040 | addconfig 'Section "InputClass"' |
83 | addconfig ' Identifier "keyboard layout"' | ||
84 | addconfig ' MatchIsKeyboard "on"' | ||
85 | addconfig " Option \"XkbLayout\" \"${value}\"" | ||
86 | addconfig 'EndSection' | ||
87 | fi | ||
88 | niro | 1248 | |
89 | niro | 2025 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
90 | then | ||
91 | x11runas "setxkbmap ${value}" | ||
92 | fi | ||
93 | niro | 1248 | } |