gnome-shell/js/ui
Carlos Garnacho c1d13fb471 keyboard: Prevent OSK key buttons from creating grabs
In a very un-StButton fashion, OSK keys are not interested in
altering the current focus state, as otherwise pressing those
will trigger a grab that will alter key focus, so the generated
key or IM state events will not be handled by the actor that
originally had the focus as long as the OSK key is pressed.

Despite being StButtons, OSK keys do already perform their own
press/release handling with internal state tracking, so it is
not a big stretch to simply consume the events, and update the
:active pseudo-class manually.

This makes OSK keys still look and behave as usual, but without
any grabbing shenanigans that might affect the focus state. This
makes all OSK keys work again.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4986
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2237>
2022-03-12 09:28:14 +00:00
..
components js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
status remoteAccess: Hide indicator after a timeout 2022-03-04 22:05:46 +00:00
accessDialog.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
altTab.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
animation.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
appDisplay.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
appFavorites.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
appMenu.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
audioDeviceSelection.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
background.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
backgroundMenu.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
barLevel.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
boxpointer.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
calendar.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
checkBox.js checkbox: Improve accessibility of check boxes for Orca users 2020-03-29 12:56:33 +00:00
closeDialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
ctrlAltTab.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
dash.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
dateMenu.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
dialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
dnd.js dnd: Drop captured event handler 2022-02-02 17:22:20 +01:00
edgeDragAction.js keyboard: Handle edge drag gesture cancellation 2021-02-17 15:45:01 +00:00
endSessionDialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
environment.js signalTracker: Explicitly register destroyable types 2022-03-06 00:10:03 +00:00
extensionDownloader.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
extensionSystem.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
focusCaretTracker.js cleanup: Prefer template strings 2019-07-05 11:32:31 +00:00
grabHelper.js grabHelper: Special case event funneling towards the OSK 2022-03-12 09:28:14 +00:00
ibusCandidatePopup.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
iconGrid.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
inhibitShortcutsDialog.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
init.js init: Set console log domain 2021-09-01 14:55:47 +00:00
kbdA11yDialog.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
keyboard.js keyboard: Prevent OSK key buttons from creating grabs 2022-03-12 09:28:14 +00:00
layout.js Revert "layout: Exclude hidden actors from struts" 2022-03-05 22:29:57 +00:00
lightbox.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
locatePointer.js locatePointer: Bind ripples creation to settings 2019-09-09 19:28:18 +00:00
lookingGlass.js lookingGlass: Take separate grab for object inspector 2022-02-26 18:15:28 +01:00
magnifier.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
main.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
messageList.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
messageTray.js signalTracker: Explicitly register destroyable types 2022-03-06 00:10:03 +00:00
modalDialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
mpris.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
notificationDaemon.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
osdMonitorLabeler.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
osdWindow.js osdWindow: Implement new OSD design 2022-02-12 15:28:52 +00:00
overview.js overview: Don't expect time argument from drag-end signal 2022-02-23 17:58:36 +00:00
overviewControls.js overviewControls: Do consider work area for HIDDEN state 2022-03-05 22:29:57 +00:00
padOsd.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
pageIndicators.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
panel.js panel: Listen differently for button-press events 2022-03-05 23:51:59 +00:00
panelMenu.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
pointerA11yTimeout.js ui: Use ClutterSeat for keyboard/pointer a11y 2020-01-30 17:49:08 +00:00
pointerWatcher.js js: Get idle monitor from backend 2021-05-18 13:42:52 +00:00
popupMenu.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
remoteSearch.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
ripples.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
runDialog.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
screenShield.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
screenshot.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
scripting.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
search.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
searchController.js searchController: Avoid event.set_source() API 2022-03-04 12:27:34 +00:00
sessionMode.js cleanup: Use new indentation style for arrays 2022-02-23 12:23:52 +00:00
shellDBus.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
shellEntry.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
shellMountOperation.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
slider.js slider: Use Clutter.grab() for implicit grab 2022-01-29 01:16:29 +01:00
swipeTracker.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
switcherPopup.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
switchMonitor.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
unlockDialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
userWidget.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
welcomeDialog.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
windowAttentionHandler.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
windowManager.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
windowMenu.js windowMenu: Add an entry to take a screenshot 2022-02-12 00:20:54 +00:00
windowPreview.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
workspace.js workspace: Scale slots to current workspace size when layout is frozen 2022-03-06 00:16:50 +00:00
workspaceAnimation.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
workspacesView.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
workspaceSwitcherPopup.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
workspaceThumbnail.js workspaceThumbnail: Use transient object for connecting some signals 2022-03-05 10:08:48 +01:00
xdndHandler.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00