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 |