summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsorg71 <jsorg71>2006-10-11 05:39:03 +0000
committerjsorg71 <jsorg71>2006-10-11 05:39:03 +0000
commit0458f598cd85817fb189bd9504795474146d76e6 (patch)
tree46ed572b3e463be1997c3ad5980cbd9bbc5d017c
parent73c9d2f755684ca7c974092016c3b223723b7878 (diff)
downloadxrdp-proprietary-0458f598cd85817fb189bd9504795474146d76e6.tar.gz
xrdp-proprietary-0458f598cd85817fb189bd9504795474146d76e6.zip
added 'pt br' key layout
-rw-r--r--xrdp/lang.c73
1 files changed, 73 insertions, 0 deletions
diff --git a/xrdp/lang.c b/xrdp/lang.c
index a45eeb84..fa9812f3 100644
--- a/xrdp/lang.c
+++ b/xrdp/lang.c
@@ -89,6 +89,72 @@ char en_us_altgr[] =
};
/*****************************************************************************/
+/* Portuguese (Brazil) */
+
+/* non shift chars */
+char pt_br_noshift[] =
+{
+ 0, 0, '1', '2', '3', '4', '5', '6',
+ '7', '8', '9', '0', '-', '=', 0, 0,
+ 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i',
+ 'o', 'p', 0xb4, '[', 0, 0, 'a', 's',
+ 'd', 'f', 'g', 'h', 'j', 'k', 'l', 0xe7,
+ '~', '`', 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, 0
+};
+
+/* shift chars */
+char pt_br_shift[] =
+{
+ 0, 0, '!', '@', '#', '$', '%', 0xa8,
+ '&', '*', '(', ')', '_', '+', 0, 0,
+ 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I',
+ 'O', 'P', '`', '{', 0, 0, 'A', 'S',
+ 'D', 'F', 'G', 'H', 'J', 'K', 'L', 0xc7,
+ '^', '"', 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, 0
+};
+
+/* right alt chars */
+char pt_br_altgr[] =
+{
+ 0, 0, 0xb9, 0xb2, 0xb3, 0xa3, 0xa2, 0xac,
+ 0, 0, 0, 0, 0, 0xa7, 0, 0,
+ '/', '?', 0xb0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0xaa, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0xba, 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, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/*****************************************************************************/
/* uk english */
/* non shift chars */
@@ -322,6 +388,13 @@ get_char_from_scan_code(int device_flags, int scan_code, int* keys,
keys_altgr = de_altgr;
has_altgr = 1;
}
+ else if (keylayout == 0x416) /* Portuguese (Brazil) */
+ {
+ keys_noshift = pt_br_noshift;
+ keys_shift = pt_br_shift;
+ keys_altgr = pt_br_altgr;
+ has_altgr = 1;
+ }
/* italy
else if (keylayout == 0x410)
{