slitaz-tools annotate tinyutils/tazkeymap @ rev 938

tazbox tz: freegeoip.net not uses quotes in the CSV response anymore.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sat Apr 11 16:46:26 2015 +0300 (2015-04-11)
parents 3dd4838c69c6
children 5d80f6fdbdb7
rev   line source
pankso@166 1 #!/bin/sh
pankso@166 2 #
pankso@166 3 # Tazkeymap - SliTaz GNU/Linux keymap config using loadkeys and dialog boxes.
pankso@752 4 # Configuration file is: /etc/keymap.conf
pankso@192 5 #
pascal@821 6 # Copyright (C) 2008-2014 SliTaz GNU/Linux - BSD License
pankso@752 7 #
pankso@752 8 # Author: Christophe Lincoln <pankso@slitaz.org>
pankso@166 9 #
pankso@752 10 . /lib/libtaz.sh
al@813 11 export TEXTDOMAIN='slitaz-tools' #i18n
pankso@623 12
pankso@752 13 # List all keymaps.
pankso@752 14 list_keymaps() {
pankso@752 15 cd /usr/share/kbd/keymaps/i386
pankso@752 16 # We first need a list to sort and then use \n for Yad list.
al@813 17 for i in $(find *rty *rtz dvorak -name *.map.gz); do
pankso@752 18 keymap=$(basename $i)
pankso@752 19 type=$(dirname $i)
pankso@752 20 echo "${keymap%.map.gz} $type"
pankso@752 21 done
pankso@752 22 }
pankso@166 23
pankso@572 24 # Load the selected kmap file from /usr/share/kbd/keymaps or Busybox kmaps.
pankso@572 25 load_keymap() {
pankso@572 26 if [ -x /bin/loadkeys ]; then
pankso@572 27 loadkeys $kmap
pankso@572 28 else
pankso@572 29 loadkmap < /usr/share/kmap/$kmap.kmap
pankso@572 30 fi
pankso@572 31 }
pankso@166 32
pankso@879 33 # Config /etc/keymap.conf and update Xorg keyboard config
pankso@752 34 system_config() {
pankso@752 35 echo "$kmap" > /etc/keymap.conf
pankso@879 36 tazx keyboard
pankso@752 37 }
pankso@752 38
pankso@572 39 case "$1" in
pankso@752 40 info)
al@813 41 _n 'Config file:'; echo " /etc/keymap.conf"
al@813 42 _n 'Current keymap:'; echo " $(cat /etc/keymap.conf)" ;;
pankso@752 43 list)
pankso@752 44 list_keymaps | sort ;;
pankso@752 45 "")
pankso@572 46 # Default to text mode dialog.
pascal@916 47 : ${DIALOG=dialog --timeout 60}
pankso@753 48 check_root
pankso@572 49 exec 3>&1
pankso@752 50 value=$($DIALOG --clear \
pankso@837 51 --title "{ $(_n 'SliTaz keyboard setting') }" \
pankso@837 52 --menu "" 20 72 14 \
pankso@752 53 $(list_keymaps | sort) \
pankso@752 54 2>&1 1>&3)
pankso@572 55 retval=$?
pankso@572 56 exec 3>&-
pankso@572 57 case $retval in
pankso@623 58 0) continue ;;
pankso@623 59 1|255) exit 0 ;;
pankso@572 60 esac
pankso@572 61 # If it's a reconfiguration give an info message.
pankso@572 62 if [ -s /etc/keymap.conf ]; then
al@813 63 $DIALOG --clear --title " $(_n 'Information') " \
al@813 64 --msgbox "$(_n 'Please logout of your current session and login again to use new keyboard.')" 16 70
pankso@572 65 fi
pankso@572 66 kmap=$value
pankso@752 67 system_config
pankso@752 68 load_keymap ;;
pankso@752 69 *)
pankso@752 70 # Used to configure keymap from cmdline or scripts
pankso@752 71 kmap=$1
pankso@753 72 check_root
pankso@752 73 system_config
pankso@572 74 load_keymap ;;
pankso@166 75 esac
pankso@166 76
pankso@166 77 exit 0