diff --git a/genkeymap/dump-keymaps.sh b/genkeymap/dump-keymaps.sh new file mode 100755 index 00000000..7f13b73e --- /dev/null +++ b/genkeymap/dump-keymaps.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +which setxkbmap +if test $? -ne 0 +then + echo "error, setxkbmap not found" + exit 1 +fi + +# English - US 'en-us' 0x0409 +setxkbmap -model pc104 -layout us +./xrdp-genkeymap ../instfiles/km-0409.ini + +# German 'de' 0x0407 +setxkbmap -model pc104 -layout de +./xrdp-genkeymap ../instfiles/km-0407.ini + +# Italy 'it' 0x0410 +setxkbmap -model pc104 -layout it +./xrdp-genkeymap ../instfiles/km-0410.ini + +# Russia 'ru' 0x0419 +setxkbmap -model pc104 -layout ru +./xrdp-genkeymap ../instfiles/km-0419.ini + +# Sweden 'se' 0x041d +setxkbmap -model pc104 -layout se +./xrdp-genkeymap ../instfiles/km-041d.ini + +# set back to en-us +setxkbmap -model pc104 -layout us diff --git a/genkeymap/genkeymap.c b/genkeymap/genkeymap.c index 25383f59..0d0a9a44 100644 --- a/genkeymap/genkeymap.c +++ b/genkeymap/genkeymap.c @@ -43,7 +43,6 @@ int main(int argc, char **argv) { const char* programname; char text[256]; - char* ksname = NULL; char* displayname = NULL; char* outfname; char* sections[5] = {"noshift", "shift", "altgr", "capslock", "shiftcapslock"}; @@ -96,14 +95,7 @@ int main(int argc, char **argv) { e.keycode = i; nbytes = XLookupString(&e, text, 255, &ks, NULL); - if (ks == NoSymbol) - { - ksname = "NoSymbol"; - } - else if (!(ksname = XKeysymToString(ks))) - { - ksname = "(no name)"; - } + text[nbytes] = 0; char_count = mbstowcs(wtext, text, 255); unicode = 0; if (char_count == 1)