Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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