summaryrefslogtreecommitdiffstats
path: root/xrdp
diff options
context:
space:
mode:
authorjsorg71 <jsorg71>2007-07-01 04:51:36 +0000
committerjsorg71 <jsorg71>2007-07-01 04:51:36 +0000
commit0a604248541bb76785de4ff83104f0114cbce574 (patch)
tree5c16f2cdcaa167a608ffe73bd8750caf93ebdd9c /xrdp
parentbfda7f0985c0873a303df4bf9b2fe7cc481b200d (diff)
downloadxrdp-proprietary-0a604248541bb76785de4ff83104f0114cbce574.tar.gz
xrdp-proprietary-0a604248541bb76785de4ff83104f0114cbce574.zip
added swedish keymap
Diffstat (limited to 'xrdp')
-rw-r--r--xrdp/lang.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/xrdp/lang.c b/xrdp/lang.c
index 7fa63ac1..6bd2e946 100644
--- a/xrdp/lang.c
+++ b/xrdp/lang.c
@@ -419,6 +419,72 @@ char fr_altgr[] =
};
/*****************************************************************************/
+/* swedish */
+
+/* non shift chars */
+char se_noshift[] =
+{
+ 0, 0, '1', '2', '3', '4', '5', '6',
+ '7', '8', '9', '0', '+', 0xb4, 0, 0,
+ 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i',
+ 'o', 'p', 0xe5, 0x22, 0, 0, 'a', 's',
+ 'd', 'f', 'g', 'h', 'j', 'k', 'l', 0xf6,
+ 0xe4, 0xa7, 0, '\'', 'z', 'x', 'c', 'v',
+ 'b', 'n', 'm', ',', '.', '-', 0, '*',
+ 0, ' ', 0, 0, 0, 0, 0, 0,
+ 0 , 0, 0, 0, 0, 0, 0, '7',
+ '8', '9', '-', '4', '5', '6', '+', '1',
+ '2', '3', '0', '.', 0, 0, '<', 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/* shift chars */
+char se_shift[] =
+{
+ 0, 0, '!', '"', '#', 0xa4, '%', '&',
+ '/', '(', ')', '=', '?', '`', 0, 0,
+ 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I',
+ 'O', 'P', 0xc5, 0x5e, 0, 0, 'A', 'S',
+ 'D', 'F', 'G', 'H', 'J', 'K', 'L', 0xd6,
+ 0xc4, 0xbd, 0, '*', 'Z', 'X', 'C', 'V',
+ 'B', 'N', 'M', ';', ':', '_', 0, '*',
+ 0, ' ', 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, '7',
+ '8', '9', '-', '4', '5', '6', '+', '1',
+ '2', '3', '0', '.', 0, 0, '>', 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/* right alt chars */
+char se_altgr[] =
+{
+ 0, 0, 0, '@', 0xa3, '$', 0, 0,
+ '{', '[', ']', '}', '\\', 0, 0, 0,
+ '@', 0, 0x80, 0, 0, 0, 0, 0,
+ 0, 0, 0, '~', 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0xb5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, '$', 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, '|', 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/*****************************************************************************/
char APP_CC
get_char_from_scan_code(int device_flags, int scan_code, int* keys,
int caps_lock, int num_lock, int scroll_lock,
@@ -462,6 +528,12 @@ get_char_from_scan_code(int device_flags, int scan_code, int* keys,
keys_shift = it_shift;
keys_altgr = it_altgr;
}
+ else if (keylayout == 0x41d) /* swedish */
+ {
+ keys_noshift = se_noshift;
+ keys_shift = se_shift;
+ keys_altgr = se_altgr;
+ }
else /* english us 0x409 */
{
keys_noshift = en_us_noshift;