rbreaves/kinto

Shortcut Translation Tables

rbreaves opened this issue · 13 comments

Attaching an excel doc for others that may want to identify additional system level shortcuts they'd like to see. Kinto Translation Table.xlsx

Kinto v1.0.7

Kinto GUI
Ctrl = Cmd Position
Super = Ctrl Position

Kinto Term
Ctrl+Shift = Cmd Position
Ctrl = Ctrl Position

Information on how to contribute is in the ReadMe.

Base

Behavior Linux macOS Kinto GUI Kinto Term
Primary Modifier Ctrl Cmd Alt/Cmd -> Ctrl Alt/Cmd -> Ctrl+Shift
Secondary Modifier Alt Alt Win/Alt -> Alt Win/Alt -> Alt
Tertiary Modifier Super (Win) Ctrl Ctrl -> Super Ctrl -> Ctrl

Wordwise

Behavior Linux macOS Kinto GUI Kinto Term
Beginning of Line Home Cmd+Left Ctrl+Left, Ctrl+A (dev) N/A
End of Line End Cmd+Right Ctrl+Right, Ctrl+E (dev) N/A
Left of Word Ctrl+Left Alt+Left Alt+Left N/A
Right of Word Ctrl+Right Alt+Right Alt+Right N/A
Beginning of File Ctrl+Home Cmd+Up Ctrl+Up N/A
End of File Ctrl+End Cmd+Down Ctrl+Down N/A
Delete Delete Fn+Backspace Alt+Backspace N/A

Terminal

Behavior Linux macOS Kinto Term
Page Up PageUp Fn+Up Ctrl+Shift+Up
Page Down PageDown Fn+Down Ctrl+Shift+Down
Home Home Fn+Shift+Up/Left? Ctrl+Shift+Left
End End Fn+Shift+Down/Right? Ctrl+Shift+Right

Browsers

Behavior macOS Chrome Firefox
Go Back Cmd+Left Alt+Left Ctrl+[
Go Forward Cmd+Right Alt+Right Ctrl+]

System Level

Behavior macOS galliumOS (XFCE) Ubuntu 19.10 (Gnome) Pop_OS 19.10 (Gnome) ElementaryOS 5.1 (Gnome) Fedora 31 (Gnome) Manjaro/Arch (KDE)
Show Desktop Cmd+F3 Ctrl+Alt+D Super+d Super+d Super+Down Disabled Super+d
Cycle Applications Cmd+Tab Alt+Tab Alt+Tab Super+Tab, Alt+Tab Alt+Tab Super+Tab, Alt+Tab Alt+Tab
Reverse Cycle Apps Cmd+Shift+Tab Alt+Shift+Tab Alt+Shift+Tab Alt+Shift+Tab Alt+Shift+Tab
Cycle Windows of App Cmd+` Comments* Alt+F6 Alt+F6 Alt+F6 Alt+F6 Alt+`
Reverse Cycle Windows of App Cmd+Shift+` Alt+Shift+F6 Alt+Shift+F6 Alt+Shift+F6 Alt+Shift+`
Close App Cmd+Q/W Alt+F4 Alt+F4 Super+w Alt+F4 Alt+F4 Alt+F4
Maximize App Ctrl+Cmd+F Alt+F10 Alt+F10 Ctrl+Super+Up Super+Up Alt+F10 Super+PgUp
Minimize App Cmd+H Alt+F9 Super+h Super+h Super+h Super+h Super+PgDown
Spotlight Cmd+Space Super+M Control+Shift+Space Control+Shift+Space Super+Space Control+Shift+Space Ctrl+Shift+Space
Change Workspace Ctrl+Left/Right Ctrl+Alt+End/Ctrl+Alt+Home Control+Alt+Left/Right Super+Left/Right Super+Left/Right Control+Alt+Left/Right None

Browsers

Behavior macOS Chrome Firefox
Tab Switching Ctrl+Tab Ctrl+Tab Ctrl+Tab

Cycle Applications is done in dev. May have to resolve Change Workspace last, gnome defaults to vertical layouts unless an extension is installed. Also will have to enable the caret detection system-wide (general gui) otherwise Wordwise will conflict with Change Workspace shortcuts going in either vertical or horizontal.

Early dev build has most of the shortcuts resolved besides Changing workspace and minimize window (Ctrl+H is used by many apps.. so remapping it to another combination may be difficult to do..).
92b4315

Just to make note of a meaningful difference between xfce4 vs gnome or kde. Xfce4 does not typically support multiple hotkeys for a function of xwfm4, however other extensions and commands for non-native xwfm4 actions is supported for multiple hotkeys. Still it isn't much help in assigning multiple hotkeys for any DE action.

This becomes somewhat meaningful due to the terminal keymap that defaults the Cmd position to Ctrl+Shift. It is seemingly not possible to retro-actively reset modifier keys after the destination key has been pressed - any remapping happens in a way that is disconnected from the keys you're actually pressing. This means remapping a modifier AFTER the destination key is pressed it initiates a tap on the modifier key you want (and may ignore the original modifier - if you set it to clear itself), but you can't really swap the modifier.

I may make a blog like post later better explaining this issue, if anyone thinks they have a solution on fixing that behavior in xkb then please reach out to me as I'd love to have a real solution for it. I can still do what I need to do, but it would make things a good bit easier to configure.

@rbreaves firstly, thank you for the work you're doing here. I can see this is in active development, but my initial impression has been positive 👍

I note above you say cycle application is done in dev so perhaps the following issue is already resolved.

Context
macOS keyboard
Ubuntu 19.10
Kinto: master 40b521c

Shortcut
System Level -> Cycle Applications

Keypress
Cmd+tab (Super+tab)

Current Focus
Terminal

Issue
Cycle applications performs action in reverse

Expected behaviour
Cycle application performs action forwards

@mozmorris Yes lol, the app cycling in master would likely be in reverse while using the terminal, and I have been doing so many commits I honestly couldn't remember if I had included that in master at all just yet.

That isssue is resolved even now on the dev branch, and I think the current commit is stable for Ubuntu 19.10, and now even GalliumOS (although I have one ticket saying otherwise atm). You can try the current dev release if you'd like. I will be testing 2 or 3 OS's and making sure they all work and getting some KDE stuff going before merging it with master as it will bring online the rest of the most commonly used OS shortcuts.

d45b8e2

Also while the reversed app cycling has been resolved for the terminal on Gnome, I was not able to fix it on xfce4 (galliumOS) and any fix I can come up with atm would be worse than leaving it cycling backwards. I believe KDE won't be an issue either because like Gnome I can specify multiple shortcut keys for any given action, xfce4 does not allow that.

@rbreaves +1 on the awesome work on this. There are a couple of other little issues I can see, not sure if this is the right place to bring them up so sorry in advance...

  • in browser (firefox), when focused in a text input (like this github wysiwyg i'm typing in now), the Beginning of Line and End of Line shortcuts are overwritten by the Back and Forward browser shortcuts
  • on the dev branch, the app cycling works as expected, but app window cycling (macOS - Cmd+backtick) does not. I would expect Alt+backtick to be mapped to this behavior. This behavior is still mapped to the Super+backtick, as in the master branch

@mlbaquerizo That is odd behavior for Firefox to not be defaulting back to using wordwise shortcuts while the input caret is active. I will have to do some testing later to see if I can replicate that in either master or dev. It could be an issue with either something about the polling of IBus for the caret status or the execution of xdotool even.

I am not sure about the backtick issue, it's not something I have been looking at that specifically. I may have messed with it some though in dev while working out how to best deal with Cmd+Tab. Cmd+Tab is challenging in general though because we're really working with Ctrl+Tab (using Cmd key) and the real Ctrl+Tab in both Linux and macOS tends to cycle in app tabs, while Alt is for apps in Linux and Cmd is for Apps in macOS.

What I end up having to do is re-remap Cmd+Tab (ctrl+tab) to Alt+Tab essentially and re-remap Ctrl+Tab (super+tab) back to Ctrl+Tab lol. It feels kinda hanky - but it works under Gnome and xfce for the most part - with enough work, but KDE is proving to be difficult as it doesn't like it when the real Alt key isn't being used. (Resetting KDE to actually use Ctrl vs Alt for app switching via the proper KDE rc file similar to using gsettings for Gnome to set a shortcut hasn't panned out)

Also app switching gets even more difficult under the Terminals, I believe the reverse cycling is broken on Terminals and will likely remain that way for awhile until I or someone else can find a way to resolve it. That is relatively minor though, I think.

And the only other alternative I can think of would be to completely change the keymap up and not place Ctrl where the Cmd key goes - but I refuse to do that just over app switching lol, because that can of worms is much worse and would lead to nothing good.

@mlbaquerizo I think the caret/wordwise issue you experienced in Firefox is something that can sometimes happen, but hopefully very rarely. I duplicated it once just now, but it could be because I was doing it very quickly too (if you are fast enough the caret polling won't catch up as it polls at 0.5 seconds).

I could try lowering that value, but I feel like that could cause issues with a function I am using from the x11 library that waits for changes to occur as I had already tried other values too like 0.1, 0.2 and 0.3. I assume that function just needs a certain amount of time to fully initialize and if you try re-initializing too quickly it will crash the program in unexpected ways. It's a hard thing to balance tbh, because I am trying to do 2 things at once but only for the web browsers - monitor what program has the current focus and whether the caret input is active or not. The are no other apps where the caret input status needs to be monitored, afaik - but if there are it is easy enough to support going forward.

it seemed to have been a constant occurance for me.
I had to uninstall for now because when I tried typing in a discord chat, pressing the A key selected all text (it behaved as Cmd+a) for some reason.
But keeping an eye on this project and will test when I can.
Thanks

@mlbaquerizo That select-all issue has been fixed in the dev branch as of yesterday. It unfortunately was introduced while implementing a feature request and only impacted Chrome or chromium based (electron) apps. Kinda a big bug I admit, but it has been resolved.

See this ticket for more details #52 and anything after commit b904235 should have the bug fixed.

Concerning the Firefox issue you are having, it may be related to your specific distro needing some additional packages for IBus to fully function. If you can provide me with more info on what distro you are using the log output of the service that could help me resolve the issue for you.

display service log

journalctl --user-unit=keyswap.service -b

Also read output of the input caret while the service is running

cat /tmp/kinto/caret

Be even more useful to delay for 5 seconds so you can highlight an input field in firefox and see how it reads back while the input field is active.

sleep 5 && cat /tmp/kinto/caret

The caret should be reporting back with 1 while an input field of a browser is active, but if it says anything else while the input field is active then that part of the keymapping will fail to work.

The select-all issue is fixed in dev. Thanks!

Running Manjaro 19.0.2 Gnome edition
service log:

Mar 10 19:54:30 NOBLE-lnx systemd[4802]: Started keyswap for Terminal and GUI.
Mar 10 19:54:30 NOBLE-lnx bash[22]097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Importing user_config.json...
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Data from user_config.json imported successfully.
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Running init command: gsettings set org.gnome.mutter overlay-key ''
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Starting keyswap...
Mar 10 19:54:30 NOBLE-lnx bash[22097]: First window name: Gnome-terminal
Mar 10 19:54:30 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:54:33 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:33 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:54:33 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:34 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:54:34 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:54:35 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:35 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:54:37 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:54:43 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:43 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:54:43 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:55:03 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:03 NOBLE-lnx bash[22097]: gui: discord
Mar 10 19:55:06 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:07 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:55:07 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:08 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:55:13 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:13 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:55:13 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:55:45 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:45 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:55:47 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:55:47 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:47 NOBLE-lnx bash[22097]: gui: Code
Mar 10 19:55:49 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:49 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:55:50 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:50 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:17 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:17 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:56:19 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:19 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:56:19 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:20 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:20 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:56:23 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:23 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:56:23 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:30 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:30 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:56:31 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:31 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:56:31 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:41 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:41 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:56:44 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:44 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:56:44 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:52 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:52 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:57:12 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:57:12 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:57:12 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:57:12 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:57:16 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:57:16 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:57:22 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:57:22 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:57:22 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:58:49 NOBLE-lnx systemd[4802]: Stopping keyswap for Terminal and GUI...
Mar 10 19:58:49 NOBLE-lnx systemd[4802]: keyswap.service: Succeeded.
Mar 10 19:58:49 NOBLE-lnx systemd[4802]: Stopped keyswap for Terminal and GUI.
Mar 10 19:59:01 NOBLE-lnx systemd[4802]: Started keyswap for Terminal and GUI.
Mar 10 19:59:01 NOBLE-lnx bash[Mar 10 19:54:30 NOBLE-lnx systemd[4802]: Started keyswap for Terminal and GUI.
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Importing user_config.json...
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Data from user_config.json imported successfully.
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Running init command: gsettings set org.gnome.mutter overlay-key ''
Mar 10 19:54:30 NOBLE-lnx bash[22097]: Starting keyswap...
Mar 10 19:54:30 NOBLE-lnx bash[22097]: First window name: Gnome-terminal
Mar 10 19:54:30 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:54:33 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:33 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:54:33 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:34 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:54:34 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:54:35 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:35 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:54:37 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:54:43 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:54:43 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:54:43 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:55:03 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:03 NOBLE-lnx bash[22097]: gui: discord
Mar 10 19:55:06 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:07 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:55:07 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:08 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:55:13 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:13 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:55:13 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:55:45 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:45 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:55:47 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:55:47 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:47 NOBLE-lnx bash[22097]: gui: Code
Mar 10 19:55:49 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:49 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:55:50 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:55:50 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:17 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:17 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:56:19 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:19 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:56:19 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:20 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:20 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:56:23 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:23 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:56:23 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:30 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:30 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:56:31 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:31 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:56:31 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:41 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:41 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:56:44 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:44 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:56:44 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:56:52 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:56:52 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:57:12 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:57:12 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:57:12 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:57:12 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:57:16 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:57:16 NOBLE-lnx bash[22097]: firefox: firefox
Mar 10 19:57:22 NOBLE-lnx bash[22097]: Internal error:   Could not resolve keysym XF86FullScreen
Mar 10 19:57:22 NOBLE-lnx bash[22097]: file /tmp/kinto/caret does not exist
Mar 10 19:57:22 NOBLE-lnx bash[22097]: term: Gnome-terminal
Mar 10 19:58:49 NOBLE-lnx systemd[4802]: Stopping keyswap for Terminal and GUI...
Mar 10 19:58:49 NOBLE-lnx systemd[4802]: keyswap.service: Succeeded.
Mar 10 19:58:49 NOBLE-lnx systemd[4802]: Stopped keyswap for Terminal and GUI.
Mar 10 19:59:01 NOBLE-lnx systemd[4802]: Started keyswap for Terminal and GUI.
Mar 10 19:59:01 NOBLE-lnx bash[23060]: Importing user_config.json...
Mar 10 19:59:01 NOBLE-lnx bash[23060]: Data from user_config.json imported successfully.
Mar 10 19:59:01 NOBLE-lnx bash[23060]: Running init command: gsettings set org.gnome.mutter overlay-key ''
Mar 10 19:59:01 NOBLE-lnx bash[23060]: Starting keyswap...
Mar 10 19:59:01 NOBLE-lnx bash[23060]: First window name: Gnome-terminal
Mar 10 19:59:01 NOBLE-lnx bash[23060]: term: Gnome-terminal
Mar 10 19:59:05 NOBLE-lnx bash[23060]: gui: discord
Mar 10 19:59:14 NOBLE-lnx bash[23060]: firefox: firefox
Mar 10 19:59:18 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:18 NOBLE-lnx bash[23060]: gui: discord
Mar 10 19:59:19 NOBLE-lnx bash[23060]: firefox: firefox
Mar 10 19:59:19 NOBLE-lnx bash[23060]: term: Gnome-terminal
Mar 10 19:59:34 NOBLE-lnx bash[23060]: firefox: firefox
Mar 10 19:59:37 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:38 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:41 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:41 NOBLE-lnx bash[23060]: term: Gnome-terminal
Mar 10 19:59:44 NOBLE-lnx bash[23060]: firefox: firefox
Mar 10 19:59:50 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:50 NOBLE-lnx bash[23060]: term: Gnome-terminal
23060]: Importing user_config.json...
Mar 10 19:59:01 NOBLE-lnx bash[23060]: Data from user_config.json imported successfully.
Mar 10 19:59:01 NOBLE-lnx bash[23060]: Running init command: gsettings set org.gnome.mutter overlay-key ''
Mar 10 19:59:01 NOBLE-lnx bash[23060]: Starting keyswap...
Mar 10 19:59:01 NOBLE-lnx bash[23060]: First window name: Gnome-terminal
Mar 10 19:59:01 NOBLE-lnx bash[23060]: term: Gnome-terminal
Mar 10 19:59:05 NOBLE-lnx bash[23060]: gui: discord
Mar 10 19:59:14 NOBLE-lnx bash[23060]: firefox: firefox
Mar 10 19:59:18 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:18 NOBLE-lnx bash[23060]: gui: discord
Mar 10 19:59:19 NOBLE-lnx bash[23060]: firefox: firefox
Mar 10 19:59:19 NOBLE-lnx bash[23060]: term: Gnome-terminal
Mar 10 19:59:34 NOBLE-lnx bash[23060]: firefox: firefox
Mar 10 19:59:37 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:38 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:41 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:41 NOBLE-lnx bash[23060]: term: Gnome-terminal
Mar 10 19:59:44 NOBLE-lnx bash[23060]: firefox: firefox
Mar 10 19:59:50 NOBLE-lnx bash[23060]: file /tmp/kinto/caret does not exist
Mar 10 19:59:50 NOBLE-lnx bash[23060]: term: Gnome-terminal

And as you can see /tmp/kinto/caret does not exist...

@mlbaquerizo IBus appears to be surprisingly difficult to get fully configured on Manjaro Gnome. The main issue is that IBus not only needs to be installed and set as the default method, but the Panel extension needs to be there - but isn't and I have not been able to figure out what package or thing needs to exist or be set for the Panel to be there.

To set your IBus as the default method you can manually do this and logoff and back on. (I would have merged this as a fix already, but the panel being the other element prevents me from making any updates on this issue.)

IBus has been started! If you cannot use IBus, please add below lines in ~/.bashrc, and relogin your desktop.
export GTK_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=xim

You can do your own testing, if you want, by running these two commands out of the caret_status.sh file.

# org.freedesktop.ibus.panel

IBUSADD=$(cat ~/.config/ibus/bus/`ls ~/.config/ibus/bus -1rt | tail -n1` | awk -F'IBUS_ADDRESS=' '{print $2}' | xargs)

dbus-monitor --address $IBUSADD "path='/org/freedesktop/IBus/Panel',interface='org.freedesktop.IBus.Panel',member='FocusOut'" 2> /dev/null | grep --line-buffered -o -P '(?<=object path \"/org/freedesktop/IBus/InputContext_).*(?=[\"])'

A more general command, not involving the panel, but I still can't seem to get any output in the terminal with it either

dbus-monitor --address $IBUSADD "path='/org/freedesktop/IBus',interface='org.freedesktop.IBus'"

org.freedesktop.IBus can be inspected using d-feet, but that hasn't told me much. If anyone has any ideas it would be appreciated and I'll merge the fix in.

https://wiki.archlinux.org/index.php/IBus
ibus/ibus#2018

Moving all further discussion to a separate ticket. #59

@mlbaquerizo It looks like the ~/.bashrc file should be using xim, that lines up with PopOS and probably others when they are configured to use IBus. It seems Firefox is jailed in a way that only allows for xim to work with it. This still doesn't resolve the actual problem though, at least not for me - the input caret is still not being detected, I suspect the Panel is still missing.

I am not sure why it looks like Pop_OS has the IBus service running twice, but it does work fine in Pop_OS.

IBus has been started! If you cannot use IBus, please add below lines in ~/.bashrc, and relogin your desktop.
export GTK_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=xim

Pop_OS 19.10
Screen Shot 2020-03-11 at 5 14 38 PM

Manjaro Gnome 19.10
Screen Shot 2020-03-11 at 5 15 04 PM

Switching windows within a particular window group on XFCE and DE's that do not support it directly. Map Ctrl+ or Ctrl+Shift+ to it.

https://bbs.archlinux.org/viewtopic.php?id=181646