diff --git a/FUSEISO/build.sh b/FUSEISO/build.sh
index 4dd1fa41..45617c2d 100644
--- a/FUSEISO/build.sh
+++ b/FUSEISO/build.sh
@@ -12,13 +12,15 @@ else
 fi
 
 #
-# use mini-native-x86_64 UCLIBC to build for x86_64
+# use musl-c to build for x86_64
 #
 
 export C_INCLUDE_PATH=$LIBFUSE_DIR/include
 
 rm -f $name
-gcc -static -O2 -D_FILE_OFFSET_BITS=64  vtoy_fuse_iso.c -o $name $LIBFUSE_DIR/lib/libfuse.a  -lpthread -ldl $opt
+gcc -specs "/usr/local/musl/lib/musl-gcc.specs" -static -O2 -D_FILE_OFFSET_BITS=64  vtoy_fuse_iso.c $LIBFUSE_DIR/lib/libfuse.a  -o  $name
+
+strip --strip-all $name
 
 if [ -e $name ]; then
    echo -e "\n############### SUCCESS $name ##################\n"
diff --git a/FUSEISO/build_libfuse.sh b/FUSEISO/build_libfuse.sh
index 009b3873..96086aab 100644
--- a/FUSEISO/build_libfuse.sh
+++ b/FUSEISO/build_libfuse.sh
@@ -33,7 +33,7 @@ fi
 
 ./makeconf.sh
 
-./configure --prefix="$LIBFUSE_DIR"
+./configure --prefix="$LIBFUSE_DIR" CFLAGS='-specs /usr/local/musl/lib/musl-gcc.specs'
 make -j 16
 make install
 cd ..
diff --git a/FUSEISO/vtoy_fuse_iso_32 b/FUSEISO/vtoy_fuse_iso_32
index 3227315e..ab219292 100644
Binary files a/FUSEISO/vtoy_fuse_iso_32 and b/FUSEISO/vtoy_fuse_iso_32 differ
diff --git a/FUSEISO/vtoy_fuse_iso_64 b/FUSEISO/vtoy_fuse_iso_64
index 122b1d70..c5e4b8d6 100644
Binary files a/FUSEISO/vtoy_fuse_iso_64 and b/FUSEISO/vtoy_fuse_iso_64 differ
diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/fs/iso9660.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/fs/iso9660.c
index 5785c6f3..bd357564 100644
--- a/GRUB2/MOD_SRC/grub-2.04/grub-core/fs/iso9660.c
+++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/fs/iso9660.c
@@ -735,6 +735,8 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
 	  {
 	    if ((dirent.flags & FLAG_TYPE) == FLAG_TYPE_DIR)
 	      ctx.type = GRUB_FSHELP_DIR;
+        else if ((dirent.flags & FLAG_TYPE) == 3)
+          ctx.type = GRUB_FSHELP_DIR;
 	    else
 	      ctx.type = GRUB_FSHELP_REG;
 	  }
diff --git a/IMG/cpio/ventoy/hook/debian/360-disk.sh b/IMG/cpio/ventoy/hook/debian/360-disk.sh
new file mode 100644
index 00000000..e0be61bb
--- /dev/null
+++ b/IMG/cpio/ventoy/hook/debian/360-disk.sh
@@ -0,0 +1,58 @@
+#!/ventoy/busybox/sh
+#************************************************************************************
+# Copyright (c) 2020, longpanda <admin@ventoy.net>
+# 
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 3 of the
+# License, or (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# 
+#************************************************************************************
+
+. /ventoy/hook/ventoy-hook-lib.sh
+
+if is_ventoy_hook_finished; then
+    exit 0
+fi
+
+vtlog "####### $0 $* ########"
+
+VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
+
+wait_for_usb_disk_ready
+
+vtdiskname=$(get_ventoy_disk_name)
+if [ "$vtdiskname" = "unknown" ]; then
+    vtlog "ventoy disk not found"
+    PATH=$VTPATH_OLD
+    exit 0
+fi
+
+vtlog "fuse $*"
+
+mkdir -p $VTOY_PATH/mnt/fuse $VTOY_PATH/mnt/iso
+
+vtoydm -p -f $VTOY_PATH/ventoy_image_map -d $vtdiskname > $VTOY_PATH/ventoy_dm_table
+vtoy_fuse_iso -f $VTOY_PATH/ventoy_dm_table -m $VTOY_PATH/mnt/fuse
+
+mount -t iso9660  $VTOY_PATH/mnt/fuse/ventoy.iso    $VTOY_PATH/mnt/iso
+
+rm -f /puppy.sfs
+echo -e "\n\\033[1;35mCopying to ram ...\\033[0;39m" > /dev/console
+[ -e $VTOY_PATH/mnt/iso/360Disk/puppy.sfs ] && cp -a $VTOY_PATH/mnt/iso/360Disk/puppy.sfs /puppy.sfs
+[ -d $VTOY_PATH/mnt/iso/360Disk/addsw ] && cp -a $VTOY_PATH/mnt/iso/360Disk/addsw /
+
+umount $VTOY_PATH/mnt/iso
+umount $VTOY_PATH/mnt/fuse
+
+PATH=$VTPATH_OLD
+
+set_ventoy_hook_finish
diff --git a/IMG/cpio/ventoy/hook/debian/360-switch-root.sh b/IMG/cpio/ventoy/hook/debian/360-switch-root.sh
new file mode 100644
index 00000000..7695849b
--- /dev/null
+++ b/IMG/cpio/ventoy/hook/debian/360-switch-root.sh
@@ -0,0 +1,27 @@
+#!/ventoy/busybox/sh
+#************************************************************************************
+# Copyright (c) 2020, longpanda <admin@ventoy.net>
+# 
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 3 of the
+# License, or (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# 
+#************************************************************************************
+
+. /ventoy/hook/ventoy-hook-lib.sh
+
+VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
+
+
+PATH=$VTPATH_OLD
+
+set_ventoy_hook_finish
diff --git a/IMG/cpio/ventoy/hook/debian/puppy-hook.sh b/IMG/cpio/ventoy/hook/debian/puppy-hook.sh
index cbb5a20b..037c77ad 100644
--- a/IMG/cpio/ventoy/hook/debian/puppy-hook.sh
+++ b/IMG/cpio/ventoy/hook/debian/puppy-hook.sh
@@ -17,9 +17,18 @@
 # 
 #************************************************************************************
 
-$SED '1 apmedia=usbhd'  -i /init
-$SED "/^ *HAVE_PARTS=/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/puppy-disk.sh"  -i /init
-$SED "/^ *HAVE_PARTS=/a\ HAVE_PARTS='ventoy|iso9660'"  -i /init
+if $GREP -q '^ *HAVE_PARTS=' /init; then
+    $SED '1 apmedia=usbhd'  -i /init
+    $SED "/^ *HAVE_PARTS=/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/puppy-disk.sh"  -i /init
+    $SED "/^ *HAVE_PARTS=/a\ HAVE_PARTS='ventoy|iso9660'"  -i /init
+fi
+
+#360UDisk
+if [ -e /360anim ]; then    
+    $BUSYBOX_PATH/touch /puppy.sfs 
+    $SED "/if *.*flag-usb-ready/i\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/360-disk.sh"  -i /init
+    $SED "/^exec *switch_root/i\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/360-switch-root.sh"  -i /init    
+fi
 
 if [ -f /DISTRO_SPECS ]; then
     if ! [ -d /dev ]; then
diff --git a/INSTALL/EFI/BOOT/BOOTAA64.EFI b/INSTALL/EFI/BOOT/BOOTAA64.EFI
index 55e062e5..f933c48e 100644
Binary files a/INSTALL/EFI/BOOT/BOOTAA64.EFI and b/INSTALL/EFI/BOOT/BOOTAA64.EFI differ
diff --git a/INSTALL/EFI/BOOT/grubia32_real.efi b/INSTALL/EFI/BOOT/grubia32_real.efi
index 08c91727..4ae852ce 100644
Binary files a/INSTALL/EFI/BOOT/grubia32_real.efi and b/INSTALL/EFI/BOOT/grubia32_real.efi differ
diff --git a/INSTALL/EFI/BOOT/grubx64_real.efi b/INSTALL/EFI/BOOT/grubx64_real.efi
index d61e5363..726a65ab 100644
Binary files a/INSTALL/EFI/BOOT/grubx64_real.efi and b/INSTALL/EFI/BOOT/grubx64_real.efi differ
diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg
index b1bc0388..8cb8fe06 100644
--- a/INSTALL/grub/grub.cfg
+++ b/INSTALL/grub/grub.cfg
@@ -294,6 +294,8 @@ function distro_specify_initrd_file_phase2 {
         fi
     elif [ -f (loop)/antiX/initrd.gz ]; then
         vt_linux_specify_initrd_file /antiX/initrd.gz
+    elif [ -f (loop)/360Disk/initrd.gz ]; then
+        vt_linux_specify_initrd_file /360Disk/initrd.gz
     
     fi
 }
diff --git a/INSTALL/grub/i386-pc/core.img b/INSTALL/grub/i386-pc/core.img
index e5adec40..7f906e1e 100644
Binary files a/INSTALL/grub/i386-pc/core.img and b/INSTALL/grub/i386-pc/core.img differ
diff --git a/INSTALL/ventoy/ventoy.cpio b/INSTALL/ventoy/ventoy.cpio
index 50f7482a..d3df1f02 100644
Binary files a/INSTALL/ventoy/ventoy.cpio and b/INSTALL/ventoy/ventoy.cpio differ
diff --git a/INSTALL/ventoy/vtloopex.cpio b/INSTALL/ventoy/vtloopex.cpio
index 6c7823b1..bbb61ba2 100644
Binary files a/INSTALL/ventoy/vtloopex.cpio and b/INSTALL/ventoy/vtloopex.cpio differ
diff --git a/KBD/cfg/KBD_AZERTY.cfg b/KBD/cfg/KBD_AZERTY.cfg
new file mode 100644
index 00000000..6c6c7fc0
--- /dev/null
+++ b/KBD/cfg/KBD_AZERTY.cfg
@@ -0,0 +1,65 @@
+# set AZERTY keyboard generic
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey a q 
+setkey A Q 
+setkey z w 
+setkey Z W 
+setkey q a 
+setkey Q A 
+setkey m semicolon 
+setkey M colon 
+setkey w z 
+setkey W Z 
+setkey comma m 
+setkey question M 
+setkey semicolon comma 
+setkey period less 
+setkey colon period 
+setkey slash greater 
+setkey exclam slash 
+setkey dollar bracketright 
+setkey asterisk backslash 
+setkey percent doublequote 
+setkey ampersand 1 
+setkey 1 exclam 
+setkey tilde 2 
+setkey 2 at 
+setkey doublequote 3 
+setkey 3 numbersign 
+setkey quote 4 
+setkey 4 dollar 
+setkey parenleft 5 
+setkey 5 percent 
+setkey minus 6 
+setkey 6 caret 
+setkey backquote 7 
+setkey 7 ampersand 
+setkey underscore 8 
+setkey 8 asterisk 
+setkey caret 9 
+setkey 9 parenleft 
+setkey at 0 
+setkey 0 parenright 
+setkey parenright minus 
+setkey less backquote 
+setkey greater tilde 
+setkey numbersign braceright 
+setkey backslash question 
+setkey bracketright braceleft 
+setkey braceleft quote 
+setkey braceright underscore 
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo AZERTY KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_CZECH_QWERTY.cfg b/KBD/cfg/KBD_CZECH_QWERTY.cfg
new file mode 100644
index 00000000..e5934f75
--- /dev/null
+++ b/KBD/cfg/KBD_CZECH_QWERTY.cfg
@@ -0,0 +1,75 @@
+#QWERTY CZECH
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey semicolon backquote
+setkey plus 1
+setkey equal minus
+setkey quote equal
+setkey parenright bracketright
+setkey doublequote backslash
+setkey minus slash
+#shift
+setkey 1 exclam
+setkey 2 at
+setkey 3 numbersign
+setkey 4 dollar
+setkey 5 percent
+setkey 6 caret
+setkey 7 ampersand
+setkey 8 asterisk
+setkey 9 parenleft
+setkey 0 parenright
+setkey percent underscore
+setkey slash braceleft
+setkey parenleft braceright
+setkey doublequote colon
+setkey exclam doublequote
+setkey quote bar
+setkey question less
+setkey colon greater
+setkey underscore question
+#Alt
+setkey backquote Abackquote
+setkey exclam A1
+setkey at A2
+setkey numbersign A3
+setkey dollar A4
+setkey percent A5
+setkey caret A6
+setkey ampersand A7
+setkey asterisk A8
+setkey parenleft A9
+setkey parenright A0
+setkey minus Aminus
+setkey equal Aequal
+setkey bracketleft Abracketleft
+setkey bracketright Abracketright
+setkey semicolon Asemicolon
+setkey backslash Abackslash
+setkey less Acomma
+setkey greater Aperiod
+setkey slash Aslash
+setkey tilde Atilde
+setkey underscore Aunderscore
+setkey plus Aplus
+setkey braceleft Abraceleft
+setkey braceright Abraceright
+setkey caret Adoublequote
+setkey colon Acolon
+setkey question Aquestion
+
+setkey bar Abar
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo CZECH QWERTY KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_CZECH_QWERTZ.cfg b/KBD/cfg/KBD_CZECH_QWERTZ.cfg
new file mode 100644
index 00000000..be8938e9
--- /dev/null
+++ b/KBD/cfg/KBD_CZECH_QWERTZ.cfg
@@ -0,0 +1,64 @@
+#QWERTZ CZECH
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey y z 
+setkey z y 
+setkey Y Z 
+setkey Z Y
+setkey semicolon backquote
+setkey plus 1
+setkey equal minus
+setkey quote equal
+setkey parenright bracketright
+setkey doublequote backslash
+setkey minus slash
+#shift
+setkey 1 exclam
+setkey 2 at
+setkey 3 numbersign
+setkey 4 dollar
+setkey 5 percent
+setkey 6 caret
+setkey 7 ampersand
+setkey 8 asterisk
+setkey 9 parenleft
+setkey 0 parenright
+setkey percent underscore
+setkey slash braceleft
+setkey parenleft braceright
+setkey doublequote colon
+setkey exclam doublequote
+setkey quote bar
+setkey question less
+setkey colon greater
+setkey underscore question
+#Alt
+setkey tilde A1
+setkey caret A3
+setkey backslash Aq
+setkey bar Aw
+setkey bracketleft Af
+setkey bracketright Ag
+setkey dollar Asemicolon
+setkey numbersign Ax
+setkey ampersand Ac
+setkey at Av
+setkey braceleft Ab
+setkey braceright An
+setkey less Acomma
+setkey greater Aperiod
+setkey asterisk Aslash
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo CZECH QWERTZ KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_DANISH.cfg b/KBD/cfg/KBD_DANISH.cfg
new file mode 100644
index 00000000..1e599025
--- /dev/null
+++ b/KBD/cfg/KBD_DANISH.cfg
@@ -0,0 +1,56 @@
+#DANISH
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey plus minus
+setkey quote equal
+setkey doublequote bracketright
+setkey quote backslash
+setkey minus slash
+
+#shifted
+setkey doublequote at
+setkey ampersand caret
+setkey slash ampersand
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey equal parenright
+setkey question underscore
+setkey caret braceright
+setkey asterisk bar
+setkey backquote plus
+setkey semicolon less
+setkey colon greater
+setkey underscore question
+
+#use top-left key for oem102 codes
+setkey bar Atilde
+setkey backslash Abackquote
+setkey greater tilde
+
+#AltGr
+setkey at A2
+setkey dollar A4
+setkey braceleft A7
+setkey bracketleft A8
+setkey bracketright A9
+setkey braceright A0
+setkey backslash Aminus
+
+setkey less quote
+setkey greater doublequote
+setkey tilde Abracketright
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo "DANISH KBD    a=<  A=>"
+	sleep 2
+fi 
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_DVORAK_USA.cfg b/KBD/cfg/KBD_DVORAK_USA.cfg
new file mode 100644
index 00000000..9e4b6087
--- /dev/null
+++ b/KBD/cfg/KBD_DVORAK_USA.cfg
@@ -0,0 +1,104 @@
+# Author: Alex Roper
+# set DVORAK keyboard
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey [ minus
+setkey braceleft underscore
+setkey quote q 
+setkey doublequote Q 
+setkey comma w 
+setkey less W 
+setkey s semicolon 
+setkey S colon 
+setkey semicolon z 
+setkey colon Z 
+setkey w comma 
+setkey W less 
+setkey v period 
+setkey z greater 
+setkey z slash 
+setkey equal bracketright 
+setkey backslash backslash 
+setkey underscore doublequote 
+setkey quote q
+setkey doublequote Q
+setkey comma w
+setkey less W
+setkey period e
+setkey greater E
+setkey p r
+setkey P R
+setkey y t
+setkey Y T
+setkey f y
+setkey F Y
+setkey g u
+setkey G U
+setkey c c
+setkey C I
+setkey r o
+setkey R O
+setkey l p
+setkey L P
+setkey bracketright equal
+setkey braceright plus
+setkey a a
+setkey A A
+setkey o s
+setkey O S
+setkey e d
+setkey E D
+setkey u f
+setkey U F
+setkey i g
+setkey I G
+setkey d h
+setkey D H
+setkey h j
+setkey H J
+setkey t k
+setkey T K
+setkey n l
+setkey N L
+setkey s semicolon
+setkey S colon
+setkey minus quote
+setkey underscore doublequote
+setkey semicolon z
+setkey colon Z
+setkey q x
+setkey Q X
+setkey j c
+setkey J C
+setkey k v
+setkey K V
+setkey x b
+setkey X B
+setkey b n
+setkey B N
+#setkey m m
+#setkey M M
+setkey w comma
+setkey W less
+setkey v period
+setkey V greater
+setkey z slash
+setkey Z question
+setkey slash bracketleft
+setkey question braceleft
+setkey equal bracketright
+setkey plus braceright
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo DVORAK KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_FRENCH.cfg b/KBD/cfg/KBD_FRENCH.cfg
new file mode 100644
index 00000000..edc04301
--- /dev/null
+++ b/KBD/cfg/KBD_FRENCH.cfg
@@ -0,0 +1,80 @@
+#FRENCH AZERTY
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey less backquote
+setkey greater tilde
+setkey ampersand 1
+setkey 1 exclam
+setkey tilde 2
+setkey 2 at
+setkey doublequote 3
+setkey 3 numbersign
+setkey quote 4
+setkey 4 dollar
+setkey parenleft 5
+setkey 5 percent
+setkey minus 6
+setkey 6 caret
+setkey backquote 7
+setkey 7 ampersand
+setkey underscore 8
+setkey 8 asterisk
+setkey backslash 9
+setkey 9 parenleft
+setkey at 0
+setkey 0 parenright
+setkey parenright minus
+setkey numbersign underscore
+# no change for equal
+# no change for plus
+setkey a q
+setkey A Q
+setkey z w
+setkey Z W
+setkey caret bracketleft
+# no equivalent for diaresis => we keep the US braceleft
+setkey dollar bracketright
+# no equivalent for pound => we keep the US braceright
+setkey q a
+setkey Q A
+setkey m semicolon
+setkey M colon
+setkey bracketleft quote
+setkey percent doublequote
+setkey asterisk backslash
+setkey bracketright bar
+setkey w z
+setkey W Z
+setkey comma m
+setkey question M
+setkey semicolon comma
+setkey period less
+setkey colon period
+setkey slash greater
+setkey exclam slash
+setkey bar question
+
+setkey tilde A2
+setkey numbersign A3
+setkey braceleft A4
+setkey bracketleft A5
+setkey bar A6
+setkey quote A7
+setkey backslash A8
+setkey caret A9
+setkey at A0
+setkey bracketright Aminus
+setkey braceright Aequal
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo FRENCH KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_GERMAN.cfg b/KBD/cfg/KBD_GERMAN.cfg
new file mode 100644
index 00000000..1265fcd0
--- /dev/null
+++ b/KBD/cfg/KBD_GERMAN.cfg
@@ -0,0 +1,56 @@
+#GERMAN
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey doublequote at
+setkey ampersand caret
+setkey slash ampersand
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey equal parenright
+setkey question underscore
+setkey backslash minus
+setkey z y
+setkey Z Y
+setkey y z
+setkey Y Z
+setkey plus bracketright
+setkey asterisk braceright
+setkey semicolon less
+setkey colon greater
+setkey minus slash
+setkey backslash Aminus
+setkey underscore question
+setkey caret backquote
+setkey quote equal
+setkey backquote plus
+setkey braceright doublequote
+setkey bar bracketleft
+setkey at braceleft
+setkey numbersign backslash
+setkey at Aq
+setkey less backquote
+setkey greater tilde
+setkey braceleft A7
+setkey bracketleft A8
+setkey bracketright A9
+setkey braceright A0
+setkey tilde Abracketright
+setkey backslash Aminus
+setkey quote bar
+setkey greater semicolon
+setkey less colon
+setkey bar quote
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo GERMAN KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_ITALIANO.cfg b/KBD/cfg/KBD_ITALIANO.cfg
new file mode 100644
index 00000000..21846ec0
--- /dev/null
+++ b/KBD/cfg/KBD_ITALIANO.cfg
@@ -0,0 +1,52 @@
+# Italian
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey backslash backquote
+setkey bar tilde
+setkey doublequote at
+setkey tilde numbersign
+setkey ampersand caret
+setkey slash ampersand
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey equal parenright
+setkey quote minus
+setkey question underscore
+setkey caret plus
+setkey bracketleft bracketleft
+setkey bracketright braceleft
+setkey plus bracketright
+setkey asterisk braceright
+setkey at semicolon
+setkey braceleft colon
+setkey numbersign quote
+setkey braceright doublequote
+setkey less backslash
+setkey greater bar
+setkey minus slash
+setkey underscore question
+setkey semicolon less
+setkey colon greater
+
+setkey bracketleft Abracketleft
+setkey bracketright Abracketright
+setkey at Asemicolon
+setkey numbersign Aquote
+setkey braceright Abraceright
+setkey braceleft Abraceleft
+
+setkey -e
+
+if [ "${quiet}" = "" ]; then
+	echo ITALIAN KBD
+fi 
+
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_JAPAN_106.cfg b/KBD/cfg/KBD_JAPAN_106.cfg
new file mode 100644
index 00000000..42c7fd9e
--- /dev/null
+++ b/KBD/cfg/KBD_JAPAN_106.cfg
@@ -0,0 +1,37 @@
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+# Jp106 keypad
+setkey at bracketleft
+setkey doublequote at
+setkey ampersand caret
+setkey quote ampersand
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey underscore parenright
+setkey equal underscore
+setkey plus colon
+setkey colon quote
+setkey asterisk doublequote
+setkey bracketleft bracketright
+setkey braceleft braceright
+setkey bracketright backslash
+setkey braceright bar
+setkey backslash backquote
+setkey tilde plus
+setkey caret equal
+setkey backquote braceleft
+setkey bar tilde
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo JAPANESE 106 KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_LATIN_USA.cfg b/KBD/cfg/KBD_LATIN_USA.cfg
new file mode 100644
index 00000000..f50b4187
--- /dev/null
+++ b/KBD/cfg/KBD_LATIN_USA.cfg
@@ -0,0 +1,53 @@
+#LATIN AMERCICAN KBD
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey bar backquote
+setkey quote minus
+setkey question underscore
+setkey backquote bracketleft
+setkey plus bracketright
+setkey braceleft quote
+setkey braceright backslash
+setkey minus slash
+setkey ampersand caret
+setkey doublequote at
+setkey slash ampersand
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey equal parenright
+setkey asterisk braceright
+setkey bracketleft doublequote
+setkey bracketright bar
+setkey semicolon less
+setkey colon greater
+setkey underscore question
+
+setkey caret Aquote
+setkey doublequote braceleft
+setkey at Aq
+setkey backquote Abackslash
+
+setkey backslash Aminus
+
+setkey greater plus
+setkey less equal
+
+setkey backslash Aminus
+setkey backquote Abackslash
+setkey tilde Abracketright
+setkey caret Aquote
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo "LATIN AMERICAN KBD      shift+top-right '>'     top-right '<'"
+	sleep 3
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_PORTU_BRAZIL.cfg b/KBD/cfg/KBD_PORTU_BRAZIL.cfg
new file mode 100644
index 00000000..c0878a85
--- /dev/null
+++ b/KBD/cfg/KBD_PORTU_BRAZIL.cfg
@@ -0,0 +1,41 @@
+#PORTUGUESE-BRAZIL
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey quote backquote
+setkey quote bracketleft
+setkey bracketleft bracketright
+setkey tilde quote
+setkey bracketright backslash
+setkey semicolon slash
+setkey bar colon
+
+#shifted
+setkey doublequote tilde
+setkey backquote braceleft
+setkey braceleft braceright
+setkey caret doublequote
+setkey braceright bar
+setkey colon question
+setkey backslash semicolon
+
+
+#AltGr
+setkey bar Atilde
+setkey backslash Abackquote
+setkey slash Aq
+setkey question Aw
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo "PORTUGUESE-BRAZIL KBD    c+' -> \"|\"    C -> \"\\\""
+	sleep 3
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_QWERTY_UK.cfg b/KBD/cfg/KBD_QWERTY_UK.cfg
new file mode 100644
index 00000000..01cc9d0b
--- /dev/null
+++ b/KBD/cfg/KBD_QWERTY_UK.cfg
@@ -0,0 +1,27 @@
+#QWERTY UK
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+#change key map for UK keyboard
+setkey at doublequote
+setkey doublequote at
+setkey tilde bar
+setkey numbersign backslash
+setkey backslash numbersign
+setkey bar tilde
+setkey backslash Atilde
+setkey backslash Abackquote
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo "UK KBD     use [Shift+3] for \\  and  [Shift+top-left] for |"
+	sleep 2
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc.
\ No newline at end of file
diff --git a/KBD/cfg/KBD_QWERTZ.cfg b/KBD/cfg/KBD_QWERTZ.cfg
new file mode 100644
index 00000000..0bacacce
--- /dev/null
+++ b/KBD/cfg/KBD_QWERTZ.cfg
@@ -0,0 +1,44 @@
+#QWERTZ generic
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey doublequote at
+setkey ampersand percent
+setkey slash ampersand
+
+setkey equal parenright
+setkey question underscore
+setkey backslash minus
+setkey z y
+setkey Z Y
+setkey y z
+setkey Y Z
+setkey plus bracketright
+setkey asterisk braceright
+setkey semicolon less
+setkey colon greater
+setkey minus slash
+
+setkey underscore question
+setkey caret backquote
+
+setkey backquote equal
+setkey numbersign backslash
+setkey parenright parenleft
+setkey parenleft asterisk
+setkey percent caret 
+setkey less numbersign 
+setkey greater bar 
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo QWERTZ KBD
+fi 
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_QWERTZ_HUN.cfg b/KBD/cfg/KBD_QWERTZ_HUN.cfg
new file mode 100644
index 00000000..f7263b3d
--- /dev/null
+++ b/KBD/cfg/KBD_QWERTZ_HUN.cfg
@@ -0,0 +1,69 @@
+#QWERTZ Hungarian
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey y z 
+setkey z y 
+setkey Y Z 
+setkey Z Y 
+setkey 0 backquote
+setkey quote exclam
+setkey doublequote at
+setkey plus numbersign
+setkey exclam dollar
+setkey slash caret
+setkey equal ampersand
+setkey parenleft asterisk 
+setkey parenright parenleft
+setkey backslash Aq
+setkey bar Aw
+setkey bracketleft Af 
+setkey bracketright Ag
+#setkey greater Aoem102 - Aoem102 not supported
+#this is a y key in hungarian keyboard
+setkey greater Az
+setkey numbersign Ax
+setkey ampersand Ac
+setkey at Av
+setkey braceleft Ab 
+setkey braceright An
+setkey less Am
+#use É (USA=:) for $
+setkey dollar colon
+setkey question less
+setkey colon greater
+setkey minus slash
+setkey underscore question
+setkey at doublequote
+setkey tilde A1
+setkey caret A3
+setkey backquote A7
+
+#use  Ö for asterisk
+setkey asterisk 0
+
+setkey dollar Asemicolon
+setkey semicolon Acomma
+setkey greater Aperiod
+setkey asterisk Aslash
+#semicolon  use é key
+#Hun AltGR chars: less greater numbersign ampersand at braceleft braceright semicolon asterisk backslash bar tilde caret quote doublequote bracketleft bracketright
+
+setkey backquote A9
+setkey doublequote A0
+
+
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo "QWERTZ_HUN KBD   e ';'"
+	sleep 2
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_QWERTZ_SLOV_CROAT.cfg b/KBD/cfg/KBD_QWERTZ_SLOV_CROAT.cfg
new file mode 100644
index 00000000..30b20eae
--- /dev/null
+++ b/KBD/cfg/KBD_QWERTZ_SLOV_CROAT.cfg
@@ -0,0 +1,48 @@
+#QWERTZ Croatian\Slovenian
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey quote minus
+setkey plus equal
+setkey y z
+setkey minus slash
+#shifted
+setkey doublequote tilde
+setkey doublequote at
+setkey ampersand caret
+setkey slash ampersand
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey equal parenright
+setkey question underscore
+setkey asterisk plus
+setkey Y Z
+setkey semicolon less
+setkey colon greater
+setkey underscore question
+#AltGr
+setkey tilde A1
+setkey caret A3
+setkey backquote A7
+setkey backslash Aq
+setkey bar Aw
+setkey bracketleft Af
+setkey bracketright Ag
+setkey at Av
+setkey braceleft Ab
+setkey braceright An
+setkey less Acomma
+setkey greater Aperiod
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo QWERTZ_SLOV_CROAT KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_SPANISH.cfg b/KBD/cfg/KBD_SPANISH.cfg
new file mode 100644
index 00000000..fb9cc3b2
--- /dev/null
+++ b/KBD/cfg/KBD_SPANISH.cfg
@@ -0,0 +1,54 @@
+#Espanol - SPANISH CHARACTER - USA KBD CHARACTER
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey slash ampersand
+setkey ampersand caret
+setkey caret braceleft
+setkey asterisk braceright
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey minus slash
+setkey equal parenright
+setkey quote minus
+setkey underscore question
+setkey question underscore
+#setkey braceleft quote
+#setkey braceright backslash
+setkey colon greater
+setkey greater bar
+setkey doublequote at
+setkey backslash backquote
+setkey less backslash
+setkey semicolon less
+setkey backquote bracketleft
+setkey plus bracketright
+setkey plus colon
+setkey at semicolon
+
+setkey bar A1
+setkey at A2
+setkey numbersign A3
+setkey tilde A4
+setkey bracketleft Abracketleft
+setkey bracketright Abracketright
+setkey braceleft Aquote
+setkey braceright Abackslash
+
+setkey greater bar
+setkey less backslash
+setkey backslash Abackquote
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo "SPANISH KBD MAP SET   c=<  C=>"
+	sleep 2
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_SWEDISH.cfg b/KBD/cfg/KBD_SWEDISH.cfg
new file mode 100644
index 00000000..6d17d152
--- /dev/null
+++ b/KBD/cfg/KBD_SWEDISH.cfg
@@ -0,0 +1,56 @@
+#SWEDISH
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey plus minus
+setkey quote equal
+setkey doublequote bracketright
+setkey quote backslash
+setkey minus slash
+
+#shifted
+setkey doublequote at
+setkey ampersand caret
+setkey slash ampersand
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey equal parenright
+setkey question underscore
+setkey caret braceright
+setkey asterisk bar
+setkey backquote plus
+setkey semicolon less
+setkey colon greater
+setkey underscore question
+
+#use top-left key for oem102 codes
+setkey bar Atilde
+setkey backslash Abackquote
+setkey greater tilde
+
+#AltGr
+setkey at A2
+setkey dollar A4
+setkey braceleft A7
+setkey bracketleft A8
+setkey bracketright A9
+setkey braceright A0
+setkey backslash Aminus
+
+setkey less quote
+setkey greater doublequote
+setkey tilde Abracketright
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo "SWEDISH KBD    a=<  A=>"
+	sleep 2
+fi 
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_TURKISH_Q.cfg b/KBD/cfg/KBD_TURKISH_Q.cfg
new file mode 100644
index 00000000..4a02fe61
--- /dev/null
+++ b/KBD/cfg/KBD_TURKISH_Q.cfg
@@ -0,0 +1,49 @@
+#QWERTY TURKISH
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey doublequote backquote
+setkey asterisk minus
+setkey minus equal
+setkey comma backslash
+setkey period slash
+#shift
+setkey quote at
+setkey caret numbersign
+setkey plus dollar
+setkey ampersand caret
+setkey slash ampersand
+setkey parenleft asterisk
+setkey parenright parenleft
+setkey equal parenright
+setkey question underscore
+setkey underscore plus
+setkey semicolon bar
+setkey colon question
+#altgr
+setkey less Abackquote
+setkey greater A1
+setkey numbersign A3
+setkey dollar A4
+setkey braceleft A7
+setkey bracketleft A8
+setkey bracketright A9
+setkey braceright A0
+setkey backslash Aminus
+setkey bar Aequal
+setkey at Aq
+setkey doublequote Abracketleft
+setkey tilde Abracketright
+
+setkey -e
+if [ "${quiet}" = "" ]; then
+	echo TURKISH QWERTY KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/cfg/KBD_VIETNAMESE.cfg b/KBD/cfg/KBD_VIETNAMESE.cfg
new file mode 100644
index 00000000..2d818673
--- /dev/null
+++ b/KBD/cfg/KBD_VIETNAMESE.cfg
@@ -0,0 +1,52 @@
+#VIETNAMESE
+#clear all settings
+setkey -r
+#setkey [new character] [QWERTY-USA character]
+setkey exclam A1
+setkey at A2
+setkey numbersign A3
+setkey dollar A4
+setkey percent A5
+setkey caret A6
+setkey ampersand A7
+setkey asterisk A8
+setkey parenleft A9
+setkey parenright A0
+setkey plus Aplus
+setkey equal Aequal
+setkey braceleft Abraceleft
+setkey braceright Abraceright
+setkey colon Acolon
+setkey semicolon Asemicolon
+setkey quote Aquote
+setkey backslash Abackslash
+setkey less Aless
+setkey greater Agreater
+setkey comma Acomma
+setkey period Aperiod
+setkey question Aquestion
+setkey slash Aslash
+setkey tilde Atilde
+setkey backquote Abackquote
+setkey bracketright Abracketright
+setkey bracketleft Abracketleft
+setkey bar Abar
+setkey doublequote Adoublequote
+setkey colon Acolon
+setkey minus Aminus
+setkey underscore Aunderscore
+
+#for top row, use unshifted and shifted keys
+setkey -e
+
+if [ "${quiet}" = "" ]; then
+	echo VIETNAMESE KBD
+fi
+
+#key names
+#escape, exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%)
+#minus (-), underscore (_), equal (=), parenleft [(], backspace (backspace), tab (Tab), bracketleft ([), braceleft ({), bracketright (])
+#braceright (}), enter (carriage return), semicolon (;), colon (:), quote (') , doublequote ("), slash (/), backquote (`), tilde (~)
+#backslash (\), bar (|), comma (,), less (<) period (.) , greater (>), question (?)
+#space, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, delete, F1-F12, shiftF1-shiftF12, ctrlF1-ctrlF12
+#Use prefix A for Alt+, e.g. Aequal, Aq, Aslash, A0, etc. 
\ No newline at end of file
diff --git a/KBD/mkconfig.sh b/KBD/mkconfig.sh
new file mode 100644
index 00000000..b369005c
--- /dev/null
+++ b/KBD/mkconfig.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# 
+# Configfiles are from grubfilemanager project
+#
+
+cfgfile=../INSTALL/grub/keyboard.cfg
+rm -f ${cfgfile}.gz
+
+echo "submenu \"Keyboard Layouts\" --class=debug_krdlayout {" >>$cfgfile
+
+cat >>$cfgfile << EOF
+menuentry QWERTY_USA --class=debug_kbd {
+    setkey -r
+    setkey -d
+}
+EOF
+
+ls -1 cfg | while read line; do
+    kbd=${line%.cfg}
+    name=${kbd#KBD_}
+    
+    echo "menuentry $name --class=debug_kbd {" >> $cfgfile
+    grep '^setkey' cfg/$line >>$cfgfile    
+    echo "}" >> $cfgfile   
+done
+
+echo "}" >>$cfgfile
+
+gzip $cfgfile