mutter/src/core
Jonas Ådahl 44269e6a1d keybindings: Only add multiple keycodes from the same level
The reason why multiple keycodes could be mapped to a single keysym was
to support having both KEY_FAVORITES and KEY_BOOKMARK map to
XF86Favorites. However, iterating through all layout levels adding all
key codes has severe consequences on layouts with levels that map
things like numbers and arrow. The result is that keybindings that
should only have been added for keycodes from the first level, are
replaced by some unexpected keycode where the same keysym was found on
another level.

An example of this is the up-arrow key and l symbol. Normally you'd find
both the up-arrow symbol and the l symbol on the first level and be done
with it. However, on the German Neo-2 layout, layout level 4 maps the
KEY_E to the l symbol, while layout level 4 maps KEY_E to up-arrow.
Which ever gets to take priority is arbitrary, but for this particular
case KEY_E incorrectly mapped to up-arrow instead of the l symbol,
causing the keyboard shortcut Super+l, which would normally lock the
screen, to trigger the workspace-up (Super+up-arrow) key binding.

https://bugzilla.gnome.org/show_bug.cgi?id=789300
2017-12-20 15:02:39 +08:00
..
bell.c bell: Fallback to fullscreen flash if no window was passed 2016-03-21 11:38:31 +08:00
bell.h bell: Let the X11 caller deal with the X11 fallback 2016-03-10 12:34:56 +08:00
boxes-private.h cursor-renderer: Track cursor position using floats 2017-07-14 20:54:27 +08:00
boxes.c monitor-config-manager: Verify that logical monitors are adjecent 2017-04-07 22:30:47 +08:00
constraints.c window: Split out preview_tile_mode 2017-10-03 19:38:31 -03:00
constraints.h Remove trailing whitespace 2014-05-02 09:34:48 -04:00
core.c core: Remove meta_core_change_workspace() 2015-07-23 12:13:45 +02:00
core.h core: Remove meta_core_get_frame_workspace() declaration 2015-07-23 12:13:45 +02:00
delete.c core: Add meta_close_dialog_focus() vmethod 2017-07-16 19:21:41 +02:00
display-private.h core: Add MetaDisplay::show-osd signal 2017-02-10 20:11:19 +01:00
display.c core: Plug leaks 2017-11-07 10:48:45 +01:00
edge-resistance.c edge-resistance: Remove useless variable 2017-10-03 19:38:31 -03:00
edge-resistance.h window: Remove meta_window_move as well 2014-05-27 15:44:33 -04:00
errors.c Remove trailing whitespace 2014-05-02 09:34:48 -04:00
events.c core: Forward events meant for non-alive windows to clutter 2017-07-16 19:21:41 +02:00
events.h Move all X11 event processing to a new file in x11/ 2014-06-11 16:28:45 -04:00
frame.c Always use the default screen 2016-07-23 10:55:02 +08:00
frame.h frame: Put a MetaUIFrame* in our MetaFrame 2014-12-31 22:43:00 -08:00
keybindings-private.h keybindings: Resolve on us layout too if primary is not latin based 2017-09-25 15:31:07 -04:00
keybindings.c keybindings: Only add multiple keycodes from the same level 2017-12-20 15:02:39 +08:00
main-private.h core: Add private API to override compositor configuration 2017-01-25 16:28:52 +08:00
main.c build: Fix non-wayland builds 2017-05-11 13:45:44 +02:00
meta-accel-parse.c keybindings: Avoid using unitialized memory and grabbing random keys 2016-05-12 20:06:02 +02:00
meta-accel-parse.h keybindings: Have meta_accelerator_parse take a MetaKeyCombo 2015-01-06 19:11:57 -08:00
meta-border.c MetaBorder: Use float constants and functions instead of double variants 2016-02-16 19:02:48 +08:00
meta-border.h Move out generic math parts out of the native barrier implementation 2016-02-16 19:02:48 +08:00
meta-close-dialog-default-private.h core: Implement MetaCloseDialogDefault 2017-05-15 15:09:15 +02:00
meta-close-dialog-default.c core: Ensure we send SIGTERM only once to the zenity close dialog. 2017-07-16 19:21:41 +02:00
meta-close-dialog.c core: Add meta_close_dialog_focus() vmethod 2017-07-16 19:21:41 +02:00
meta-fraction.c Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-fraction.h Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-gesture-tracker-private.h events: Simplify gesture event management 2014-07-24 18:05:56 +02:00
meta-gesture-tracker.c events: Simplify gesture event management 2014-07-24 18:05:56 +02:00
meta-inhibit-shortcuts-dialog-default-private.h core: implement MetaInhibitShortcutsDialogDefault 2017-08-02 11:58:55 +02:00
meta-inhibit-shortcuts-dialog-default.c core: implement MetaInhibitShortcutsDialogDefault 2017-08-02 11:58:55 +02:00
meta-inhibit-shortcuts-dialog.c core: add MetaInhibitShortcutsDialog 2017-08-02 11:58:55 +02:00
mutter.c Use Unicode in translatable strings 2017-02-16 02:44:16 +01:00
place.c monitor-manager: Move logical monitor into its own file 2017-01-25 16:28:53 +08:00
place.h core: Add support for custom window placement rules 2016-08-25 12:19:40 +08:00
prefs.c prefs: fix a couple of typos 2017-07-31 15:21:06 +01:00
restart-helper.c Add a framework for restarting the compositor with nice visuals 2014-07-16 18:09:25 -04:00
restart.c restart: Make meta_restart() work without a message 2016-06-27 20:23:49 +02:00
screen-private.h window: Split out preview_tile_mode 2017-10-03 19:38:31 -03:00
screen.c backend: move the cursor render update on screen changes here 2017-10-13 00:46:51 -05:00
stack-tracker.c stack-tracker: Keep override redirect windows on top 2017-07-14 15:30:57 +02:00
stack-tracker.h stack-tracker: Make lower_below / raise_above internal as well 2014-09-12 16:56:27 -06:00
stack.c monitor-manager: Move logical monitor into its own file 2017-01-25 16:28:53 +08:00
stack.h Revert "window: Remove old tiling code" 2016-01-10 15:16:09 +01:00
startup-notification-private.h core: Refactor startup notification into a separate object 2016-02-19 17:41:03 +01:00
startup-notification.c Always use the default screen 2016-07-23 10:55:02 +08:00
testboxes.c testboxes: Don't avoid parameter list 2015-09-24 03:08:23 +02:00
util-private.h wayland/xdg-foreign: Move out ID generation helper to util.c 2017-08-29 11:49:01 +08:00
util.c wayland/xdg-foreign: Move out ID generation helper to util.c 2017-08-29 11:49:01 +08:00
window-private.h window: Track edge constraints 2017-10-03 19:38:32 -03:00
window.c xwayland: Add MetaWindowXwayland 2017-12-18 13:15:09 +01:00
workspace-private.h workspace: Don't keep state given logical monitor indices 2017-01-25 16:28:52 +08:00
workspace.c core: Plug leaks 2017-11-07 10:48:45 +01:00