slitaz-tools annotate tinyutils/tazkeymap @ rev 939

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