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 1259 by niro, Fri Feb 4 19:59:17 2011 UTC mcore-src/trunk/mcore-tools/src/modules/basic-input/input.client.class.in revision 2346 by niro, Tue Jul 15 08:31:30 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="${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     ${MCORE_LIBDIR}/fluxbox-autostart --add --name keyboard --exec 'nohup xset r rate ${rate} &' --comment '${value}' &&
36     ${MCORE_LIBDIR}/fluxbox-rebuild-autostart
37    
38     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
39     then
40     x11runas "xset r rate ${rate}"
41     fi
42    }
43    
44    get_input_keymap()
45    {
46     local keymap
47     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && pidof X &> /dev/null
48     then
49     keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}')
50     else
51     keymap=$(grep "Option.*XkbLayout" ${MROOT}/etc/X11/xorg.conf.d/00-keyboard.conf \
52     | sed -e 's:\"::g' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g')
53     fi
54     rvecho "${keymap}"
55  }  }
56    
57  # set_input_keyboard  # set_input_keyboard
58  set_input_keymap()  set_input_keymap()
59  {  {
60   local value="$1"   local value="${CLASS_ARGV[0]}"
61   local CONFIG="/etc/X11/xorg.conf.d/25-layout.conf"   local CONFIG
62    
63   [[ -z ${value} ]] && help_input_keymap && return 1   [[ -z ${value} ]] && help_input_keymap && return 1
64    
65   clearconfig   # systemd support
66     if [ -x $(type -P localectl) ] && [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
67   addconfig 'Section "InputClass"'   then
68   addconfig ' Identifier "keyboard layout"'   # console keymap
69   addconfig ' MatchIsKeyboard "on"'   localectl set-keymap "${value}"
70   addconfig " Option \"XkbLayout\" \"${value}\""   # x11 keymaps
71   addconfig 'EndSection'   localectl set-x11-keymap "${value}"
72     else
73     CONFIG="${MROOT}@@SYSCONFDIR@@/vconsole.conf"
74     clearconfig
75     addconfig "KEYMAP=\"${value}\""
76     addconfig 'FONT="lat9w-16"'
77     addconfig 'FONT_MAP="8851-1_to_uni"'
78    
79     CONFIG="${MROOT}@@SYSCONFDIR@@/X11/xorg.conf.d/00-keyboard.conf"
80     clearconfig
81     addconfig 'Section "InputClass"'
82     addconfig ' Identifier "keyboard layout"'
83     addconfig ' MatchIsKeyboard "on"'
84     addconfig " Option \"XkbLayout\" \"${value}\""
85     addconfig 'EndSection'
86     fi
87    
88   if pidof X   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
89   then   then
90   x11runas "setxkbmap ${value}"   x11runas "setxkbmap ${value}"
91   fi   fi

Legend:
Removed from v.1259  
changed lines
  Added in v.2346