Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/modules/basic-input/input.client.class.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2905 - (show annotations) (download)
Thu Sep 14 08:06:09 2023 UTC (7 months, 4 weeks 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 }