diff --git a/src/content-type/50_class.conf b/src/content-type/50_class.conf index eda49fe433..6f2c9641ea 100644 --- a/src/content-type/50_class.conf +++ b/src/content-type/50_class.conf @@ -11,6 +11,7 @@ class-instance:tkdiff=text class-instance:xxdiff=text class-instance:emacs=text class-instance:gvim=text +class-instance:mate-terminal=text class-instance:vlc=video diff --git a/src/xpra/x11/server_keyboard_config.py b/src/xpra/x11/server_keyboard_config.py index 48b2fa6f8e..5b7329d8a8 100644 --- a/src/xpra/x11/server_keyboard_config.py +++ b/src/xpra/x11/server_keyboard_config.py @@ -431,11 +431,15 @@ def do_get_keycode(self, client_keycode, keyname, pressed, modifiers, group): if group: levels.append(level+4) levels.append(level) + for i in range(4): + level = int(shift) + i*2 + if level not in levels: + levels.append(level) for level in levels: keycode = self.keycode_translation.get((keyname, level)) if keycode: - log("get_keycode(%s, %s, %s, %s)=%i (level=%i)", - client_keycode, keyname, modifiers, group, keycode, level) + log("get_keycode(%s, %s, %s, %s)=%i (level=%i, shift=%s, mode=%i)", + client_keycode, keyname, modifiers, group, keycode, level, shift, mode) break if keycode is None: keycode = self.keycode_translation.get(keyname, client_keycode)