Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

mcore-src/trunk/mcore-tools/daemon/client/include/input.client.class revision 1645 by niro, Thu Mar 10 18:14:34 2011 UTC mcore-src/trunk/mcore-tools/src/modules/basic-input/input.client.class.in revision 2196 by niro, Fri Jan 10 14:43:47 2014 UTC
# Line 1  Line 1 
1  # $Id$  # $Id$
2    
3  provide basic-input  provide basic-input
4    require fluxbox
5    
6  help_input_keymap()  help_input_keymap()
7  {  {
8     mecho "get input.keymap"
9     mecho " prints current keymap of xorg"
10     mecho
11   mecho "set input.keymap [keymap]"   mecho "set input.keymap [keymap]"
12   mecho " de, us, en, gr, etc"   mecho " set keymap of xorg to [keymap]"
13     mecho "   keymaps may be: de, us, en, gr, etc"
14  }  }
15    
16  # set_input_mouse  # set_input_mouse
# Line 17  set_input_mouse() Line 22  set_input_mouse()
22  # set_input_keyboard  # set_input_keyboard
23  set_input_keyboard()  set_input_keyboard()
24  {  {
25   return 0   local value="$1"
26     local rate
27     local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/fluxbox/autostart/keyboard"
28    
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     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
44     then
45     x11runas "xset r rate ${rate}"
46     fi
47    }
48    
49    get_input_keymap()
50    {
51     local keymap
52     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && pidof X &> /dev/null
53     then
54     keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}')
55     else
56     keymap=$(grep "Option.*XkbLayout" ${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf \
57     | sed -e 's:\"::g' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g')
58     fi
59     rvecho "${keymap}"
60  }  }
61    
62  # set_input_keyboard  # set_input_keyboard
63  set_input_keymap()  set_input_keymap()
64  {  {
65   local value="$1"   local value="$1"
66   local CONFIG="/etc/X11/xorg.conf.d/25-layout.conf"   local CONFIG
67    
68   [[ -z ${value} ]] && help_input_keymap && return 1   [[ -z ${value} ]] && help_input_keymap && return 1
69    
70   clearconfig   # systemd support
71     if [ -x $(type -P localectl) ]
72   addconfig 'Section "InputClass"'   then
73   addconfig ' Identifier "keyboard layout"'   # console keymap
74   addconfig ' MatchIsKeyboard "on"'   localectl set-keymap "${value}"
75   addconfig " Option \"XkbLayout\" \"${value}\""   # x11 keymaps
76   addconfig 'EndSection'   localectl set-x11-keymap "${value}"
77     else
78   x11runas "setxkbmap ${value}"   CONFIG="${MROOT}/etc/vconsole.conf"
79     clearconfig
80     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     addconfig 'Section "InputClass"'
87     addconfig ' Identifier "keyboard layout"'
88     addconfig ' MatchIsKeyboard "on"'
89     addconfig " Option \"XkbLayout\" \"${value}\""
90     addconfig 'EndSection'
91     fi
92    
93     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
94     then
95     x11runas "setxkbmap ${value}"
96     fi
97  }  }

Legend:
Removed from v.1645  
changed lines
  Added in v.2196