# $Id$ provide basic-input require fluxbox help_input_keymap() { mecho "get input.keymap" mecho " prints current keymap of xorg" mecho mecho "set input.keymap [keymap]" mecho " set keymap of xorg to [keymap]" mecho " keymaps may be: de, us, en, gr, etc" } # set_input_mouse set_input_mouse() { return 0 } # set_input_keyboard set_input_keyboard() { local value="$1" local rate local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/fluxbox/autostart/keyboard" case ${value} in slow) rate="1000 10" ;; fast) rate="250 100" ;; normal) rate="" ;; *) help_input_keyboard && return 1 ;; esac clearconfig addconfig "# ${value}" addconfig "[startup] { nohup xset r rate ${rate} &}" # rebuild autostart file helper_rebuild_fluxbox_autostart if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then x11runas "xset r rate ${rate}" fi } get_input_keymap() { local keymap if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then keymap=$(x11runas "setxkbmap -query" | grep layout | awk '{print $2}') else keymap=$(grep "Option.*XkbLayout" ${MROOT}/etc/X11/xorg.conf.d/25-layout.conf \ | sed -e 's:\"::' -e 's:.*XkbLayout\(.*\):\1:' -e 's:[\ \t]::g') fi rvecho "${keymap}" } # set_input_keyboard set_input_keymap() { local value="$1" local CONFIG="${MROOT}/etc/X11/xorg.conf.d/25-layout.conf" [[ -z ${value} ]] && help_input_keymap && return 1 clearconfig addconfig 'Section "InputClass"' addconfig ' Identifier "keyboard layout"' addconfig ' MatchIsKeyboard "on"' addconfig " Option \"XkbLayout\" \"${value}\"" addconfig 'EndSection' if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then x11runas "setxkbmap ${value}" fi }