From 231c4972d5a53ce57589b35c16b9ec6627cc66cf Mon Sep 17 00:00:00 2001 From: Tejaswi Kandula Date: Thu, 10 Oct 2024 09:41:50 -0700 Subject: [PATCH 1/3] GUACAMOLE-1990: Add keymap for Canadian Multilingual Standard (CMS) layout --- src/protocols/rdp/Makefile.am | 1 + .../rdp/keymaps/ca_multi_qwerty.keymap | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 src/protocols/rdp/keymaps/ca_multi_qwerty.keymap diff --git a/src/protocols/rdp/Makefile.am b/src/protocols/rdp/Makefile.am index 1c393c30d..6c179038a 100644 --- a/src/protocols/rdp/Makefile.am +++ b/src/protocols/rdp/Makefile.am @@ -231,6 +231,7 @@ rdp_keymaps = \ $(srcdir)/keymaps/base.keymap \ $(srcdir)/keymaps/base_altgr.keymap \ $(srcdir)/keymaps/failsafe.keymap \ + $(srcdir)/keymaps/ca_multi_qwerty.keymap \ $(srcdir)/keymaps/cs-cz-qwertz.keymap \ $(srcdir)/keymaps/de_de_qwertz.keymap \ $(srcdir)/keymaps/de_ch_qwertz.keymap \ diff --git a/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap b/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap new file mode 100644 index 000000000..bbc9d4b5d --- /dev/null +++ b/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap @@ -0,0 +1,68 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +parent "base" +name "ca-multi-qwerty" +freerdp "KBD_CANADIAN_MULTILINGUAL_STANDARD" + +# +# Basic keys (Unshifted, no modifiers) +# + +map -caps -altgr -shift 0x29 0x02..0x0D ~ "/1234567890-=" +map -caps -altgr -shift 0x10..0x1B ~ "qwertyuiop^ç" +map -caps -altgr -shift 0x1E..0x28 0x2B ~ "asdfghjkl;èà" +map -caps -altgr -shift 0x56 0x2C..0x35 ~ "ùzxcvbnm,.é" + +map -caps -altgr +shift 0x29 0x02..0x0D ~ "\!@#$%?&*()_+" +map -caps -altgr +shift 0x10..0x1B ~ "QWERTYUIOP¨Ç" +map -caps -altgr +shift 0x1E..0x28 0x2B ~ "ASDFGHJKL:ÈÀ" +map -caps -altgr +shift 0x56 0x2C..0x35 ~ "ÙZXCVBNM'"É" + +map +caps -altgr -shift 0x29 0x02..0x0D ~ "/1234567890-=" +map +caps -altgr -shift 0x10..0x1B ~ "QWERTZUIOP^Ç" +map +caps -altgr -shift 0x1E..0x28 0x2B ~ "ASDFGHJKL;ÈÀ" +map +caps -altgr -shift 0x56 0x2C..0x35 ~ "ÙZXCVBNM,.É" + +map +caps -altgr +shift 0x29 0x02..0x0D ~ "\!@#$%?&*()_+" +map +caps -altgr +shift 0x10..0x1B ~ "qwertyuiop¨ç" +map +caps -altgr +shift 0x1E..0x28 0x2B ~ "asdfghjkl:èà" +map +caps -altgr +shift 0x56 0x2C..0x35 ~ "ùzxcvbnm'"é" + +# +# AltGr combinations (Right Alt key) +# +map +altgr -shift 0x29 ~ "|" +map +altgr -shift 0x05 ~ "¤" +map +altgr -shift 0x08..0x0B ~ "{}[]" +map +altgr -shift 0x0D ~ "¬" +map +altgr -shift 0x12 ~ "€" +map +altgr -shift 0x27 ~ "°" +map +altgr -shift 0x2C..0x2D ~ "«»" +map +altgr -shift 0x33..0x34 ~ "<>" + +# +# Dead keys (used for accents) +# + +map -altgr +shift 0x1A ~ 0xFE57 # Dead umlaut +map +altgr -shift 0x1A ~ 0xFE50 # Dead grave +map -altgr -shift 0x1A ~ 0xFE52 # Dead circumflex +map +altgr -shift 0x1B ~ 0xFE53 # Dead tilde + From 9ae57a6568d968fd10ff38fc814ad7fcd56ed1f7 Mon Sep 17 00:00:00 2001 From: Tejaswi Kandula Date: Tue, 15 Oct 2024 13:23:49 -0700 Subject: [PATCH 2/3] GUACAMOLE-1990: Add right control combinations --- src/protocols/rdp/keymaps/ca_multi_qwerty.keymap | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap b/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap index bbc9d4b5d..28803aeaa 100644 --- a/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap +++ b/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap @@ -65,4 +65,17 @@ map -altgr +shift 0x1A ~ 0xFE57 # Dead umlaut map +altgr -shift 0x1A ~ 0xFE50 # Dead grave map -altgr -shift 0x1A ~ 0xFE52 # Dead circumflex map +altgr -shift 0x1B ~ 0xFE53 # Dead tilde +map +ext +ctrl 0x0D ~ 0xFE5B # Dead cedilla + +# +# Right Control Combinations +# + +map +ext +ctrl 0x02..0x07 ~ "¹²³¼½¾" +map +ext +ctrl 0x11..0x19 ~ "łœ¶ŧ←↓→øþ" +map +ext +ctrl 0x1E..0x20 ~ "æßð" +map +ext +ctrl 0x22..0x26 ~ "ŋħijĸŀ" +map +ext +ctrl 0x2E..0x33 ~ "¢“”ʼnµ―" + + From fbe1e1125bee152e6fb798ed950b314fea782149 Mon Sep 17 00:00:00 2001 From: Tejaswi Kandula Date: Tue, 15 Oct 2024 13:43:18 -0700 Subject: [PATCH 3/3] GUACAMOLE-1990: Add right control combinations --- .../rdp/keymaps/ca_multi_qwerty.keymap | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap b/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap index 28803aeaa..32b8ec5d4 100644 --- a/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap +++ b/src/protocols/rdp/keymaps/ca_multi_qwerty.keymap @@ -71,11 +71,19 @@ map +ext +ctrl 0x0D ~ 0xFE5B # Dead cedilla # Right Control Combinations # -map +ext +ctrl 0x02..0x07 ~ "¹²³¼½¾" -map +ext +ctrl 0x11..0x19 ~ "łœ¶ŧ←↓→øþ" -map +ext +ctrl 0x1E..0x20 ~ "æßð" -map +ext +ctrl 0x22..0x26 ~ "ŋħijĸŀ" -map +ext +ctrl 0x2E..0x33 ~ "¢“”ʼnµ―" +map +ext +ctrl -shift 0x02..0x07 ~ "¹²³¼½¾" +map +ext +ctrl -shift 0x11..0x19 ~ "łœ¶ŧ←↓→øþ" +map +ext +ctrl -shift 0x1E..0x20 ~ "æßð" +map +ext +ctrl -shift 0x22..0x26 ~ "ŋħijĸŀ" +map +ext +ctrl -shift 0x2E..0x33 ~ "¢“”ʼnµ―" +map +ext +ctrl +shift 0x02 ~ "¡" +map +ext +ctrl +shift 0x04..0x0A ~ "£€⅜⅝⅞™±" +map +ext +ctrl +shift 0x0C ~ "¿" +map +ext +ctrl +shift 0x10..0x19 ~ "ΩŁŒ®Ŧ¥↑ıØÞ" +map +ext +ctrl +shift 0x1E..0x24 ~ "ƧЪŊĦIJ" +map +ext +ctrl +shift 0x26 ~ "Ŀ" +map +ext +ctrl +shift 0x56 ~ "" +map +ext +ctrl +shift 0x2E..0x34 ~ "©‘’♪º×÷"