diff --git a/guacamole/src/main/webapp/app/osk/styles/osk.css b/guacamole/src/main/webapp/app/osk/styles/osk.css index 78554e113..5efa066ea 100644 --- a/guacamole/src/main/webapp/app/osk/styles/osk.css +++ b/guacamole/src/main/webapp/app/osk/styles/osk.css @@ -92,6 +92,7 @@ .guac-keyboard .guac-keyboard-key-tab, .guac-keyboard .guac-keyboard-key-lalt, .guac-keyboard .guac-keyboard-key-ralt, +.guac-keyboard .guac-keyboard-key-alt-gr, .guac-keyboard .guac-keyboard-key-lctrl, .guac-keyboard .guac-keyboard-key-rctrl, .guac-keyboard .guac-keyboard-key-lshift, @@ -112,6 +113,9 @@ .guac-keyboard.guac-keyboard-modifier-alt .guac-keyboard-key-ralt, .guac-keyboard.guac-keyboard-modifier-alt .guac-keyboard-key-lalt, +/* Active alt-gr */ +.guac-keyboard.guac-keyboard-modifier-alt-gr .guac-keyboard-key-alt-gr, + /* Active caps */ .guac-keyboard.guac-keyboard-modifier-caps .guac-keyboard-key-caps, @@ -185,6 +189,9 @@ .guac-keyboard:not(.guac-keyboard-modifier-shift) .guac-keyboard-cap.guac-keyboard-requires-shift, +.guac-keyboard:not(.guac-keyboard-modifier-alt-gr) +.guac-keyboard-cap.guac-keyboard-requires-alt-gr, + /* Hide keycaps NOT requiring modifiers which ARE currently active, where that modifier is used to determine which cap is displayed for the current key. */ .guac-keyboard.guac-keyboard-modifier-shift @@ -193,7 +200,11 @@ .guac-keyboard.guac-keyboard-modifier-caps .guac-keyboard-key.guac-keyboard-uses-caps -.guac-keyboard-cap:not(.guac-keyboard-requires-caps) { +.guac-keyboard-cap:not(.guac-keyboard-requires-caps), + +.guac-keyboard.guac-keyboard-modifier-alt-gr +.guac-keyboard-key.guac-keyboard-uses-alt-gr +.guac-keyboard-cap:not(.guac-keyboard-requires-alt-gr) { display: none; diff --git a/guacamole/src/main/webapp/layouts/de-de-qwertz.json b/guacamole/src/main/webapp/layouts/de-de-qwertz.json index 4b790d475..b0c3399e5 100644 --- a/guacamole/src/main/webapp/layouts/de-de-qwertz.json +++ b/guacamole/src/main/webapp/layouts/de-de-qwertz.json @@ -87,10 +87,10 @@ "modifier" : "alt", "keysym" : 65513 }], - "RAlt" : [{ - "title" : "Alt", - "modifier" : "alt", - "keysym" : 65514 + "AltGr" : [{ + "title" : "AltGr", + "modifier" : "alt-gr", + "keysym" : 65027 }], "Super" : [{ "title" : "Super", @@ -107,14 +107,14 @@ { "title" : "!", "requires" : [ "shift" ] } ], "2" : [ - { "title" : "2", "requires" : [ ] }, - { "title" : "\"", "requires" : [ "shift" ] }, - { "title" : "²", "requires" : [ "caps", "shift" ] } + { "title" : "2", "requires" : [ ] }, + { "title" : "\"", "requires" : [ "shift" ] }, + { "title" : "²", "requires" : [ "alt-gr" ] } ], "3" : [ - { "title" : "3", "requires" : [ ] }, - { "title" : "§", "requires" : [ "shift" ] }, - { "title" : "³", "requires" : [ "caps", "shift" ] } + { "title" : "3", "requires" : [ ] }, + { "title" : "§", "requires" : [ "shift" ] }, + { "title" : "³", "requires" : [ "alt-gr" ] } ], "4" : [ { "title" : "4", "requires" : [ ] }, @@ -129,42 +129,43 @@ { "title" : "&", "requires" : [ "shift" ] } ], "7" : [ - { "title" : "7", "requires" : [ ] }, - { "title" : "/", "requires" : [ "shift" ] }, - { "title" : "{", "requires" : [ "caps", "shift" ] } + { "title" : "7", "requires" : [ ] }, + { "title" : "/", "requires" : [ "shift" ] }, + { "title" : "{", "requires" : [ "alt-gr" ] } ], "8" : [ - { "title" : "8", "requires" : [ ] }, - { "title" : "(", "requires" : [ "shift" ] }, - { "title" : "[", "requires" : [ "caps", "shift" ] } + { "title" : "8", "requires" : [ ] }, + { "title" : "(", "requires" : [ "shift" ] }, + { "title" : "[", "requires" : [ "alt-gr" ] } ], "9" : [ - { "title" : "9", "requires" : [ ] }, - { "title" : ")", "requires" : [ "shift" ] }, - { "title" : "]", "requires" : [ "caps", "shift" ] } + { "title" : "9", "requires" : [ ] }, + { "title" : ")", "requires" : [ "shift" ] }, + { "title" : "]", "requires" : [ "alt-gr" ] } ], "0" : [ - { "title" : "0", "requires" : [ ] }, - { "title" : "=", "requires" : [ "shift" ] }, - { "title" : "}", "requires" : [ "caps", "shift" ] } + { "title" : "0", "requires" : [ ] }, + { "title" : "=", "requires" : [ "shift" ] }, + { "title" : "}", "requires" : [ "alt-gr" ] } ], "ß" : [ - { "title" : "ß", "requires" : [ ] }, - { "title" : "?", "requires" : [ "shift" ] }, - { "title" : "\\", "requires" : [ "caps", "shift" ] } + { "title" : "ß", "requires" : [ ] }, + { "title" : "?", "requires" : [ "shift" ] }, + { "title" : "\\", "requires" : [ "alt-gr" ] } ], "´" : [ { "title" : "´", "requires" : [ ] }, { "title" : "`", "requires" : [ "shift" ] } ], "^" : [ - { "title" : "^", "requires" : [ ] }, - { "title" : "¨", "requires" : [ "shift" ] } + { "title" : "^", "requires" : [ ] }, + { "title" : "¨", "requires" : [ "shift" ] }, + { "title" : "", "requires" : [ "alt-gr" ] } ], "+" : [ - { "title" : "+", "requires" : [ ] }, - { "title" : "*", "requires" : [ "shift" ] }, - { "title" : "~", "requires" : [ "caps", "shift" ] } + { "title" : "+", "requires" : [ ] }, + { "title" : "*", "requires" : [ "shift" ] }, + { "title" : "~", "requires" : [ "alt-gr" ] } ], "#" : [ { "title" : "#", "requires" : [ ] }, @@ -173,14 +174,14 @@ "<" : [ { "title" : "<", "requires" : [ ] }, { "title" : ">", "requires" : [ "shift" ] }, - { "title" : "|", "requires" : [ "caps", "shift" ] } + { "title" : "|", "requires" : [ "alt-gr" ] } ], "," : [ { "title" : ",", "requires" : [ ] }, { "title" : ";", "requires" : [ "shift" ] } ], "." : [ - { "title" : ".", "requires" : [ ] }, + { "title" : ".", "requires" : [ ] }, { "title" : ":", "requires" : [ "shift" ] } ], "-" : [ @@ -192,7 +193,8 @@ { "title" : "q", "requires" : [ ] }, { "title" : "Q", "requires" : [ "caps" ] }, { "title" : "Q", "requires" : [ "shift" ] }, - { "title" : "@", "requires" : [ "caps", "shift" ] } + { "title" : "q", "requires" : [ "caps", "shift" ] }, + { "title" : "@", "requires" : [ "alt-gr" ] } ], "w" : [ { "title" : "w", "requires" : [ ] }, @@ -204,7 +206,8 @@ { "title" : "e", "requires" : [ ] }, { "title" : "E", "requires" : [ "caps" ] }, { "title" : "E", "requires" : [ "shift" ] }, - { "title" : "€", "requires" : [ "caps", "shift" ] } + { "title" : "e", "requires" : [ "caps", "shift" ] }, + { "title" : "€", "requires" : [ "alt-gr" ] } ], "r" : [ { "title" : "r", "requires" : [ ] }, @@ -354,13 +357,14 @@ { "title" : "n", "requires" : [ ] }, { "title" : "N", "requires" : [ "caps" ] }, { "title" : "N", "requires" : [ "shift" ] }, - { "title" : "µ", "requires" : [ "caps", "shift" ] } + { "title" : "n", "requires" : [ "caps", "shift" ] } ], "m" : [ { "title" : "m", "requires" : [ ] }, { "title" : "M", "requires" : [ "caps" ] }, { "title" : "M", "requires" : [ "shift" ] }, - { "title" : "m", "requires" : [ "caps", "shift" ] } + { "title" : "m", "requires" : [ "caps", "shift" ] }, + { "title" : "µ", "requires" : [ "alt-gr" ] } ] }, @@ -381,7 +385,7 @@ [ "Tab", "q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü", "+", 1, 0.6 ], [ "Caps", "a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä", "#", "Enter" ], [ "LShift", "<", "y", "x", "c", "v", "b", "n", "m", ",", ".", "-", "RShift" ], - [ "LCtrl", "Super", "LAlt", "Space", "RAlt", "Menu", "RCtrl" ] + [ "LCtrl", "Super", "LAlt", "Space", "AltGr", "Menu", "RCtrl" ] ], @@ -411,7 +415,7 @@ "Super" : 1.6, "LAlt" : 1.6, "Space" : 6.1, - "RAlt" : 1.6, + "AltGr" : 1.6, "Menu" : 1.6, "RCtrl" : 1.6,