Comment by ~dennwc on ~eliasnaur/gio
Filed a PR that allows enabling directional navigation on desktop.
Comment by ~dennwc on ~eliasnaur/gio
Thank you for looking into it! Updated the Gist to only use core. Still reproduces.
Ticket created by ~dennwc on ~eliasnaur/gio
First, to reproduce the bug you need to force Gio to enable directional navigation on Desktop. This can be done by forcing
isMobile
to true here.This test app contains a text input at the top and a grid with clickable cards at the bottom.
If you try navigating with arrows in and out of the text input, you can properly select any card by going in all 4 directions.
However, if you type something in the text input and then try to navigate into the grid by pressing down arrow, you will notice that up and left arrow no longer work.
Exact steps to reproduce:
- Run the App.
- Click into the text input.
- Write something, e.g. "test".
- Click down arrow on the keyboard.
- Now left/up arrows doesn't work, while right/down still do.
Comment by ~dennwc on ~eliasnaur/gio
OK, platform-specific names it is.
Comment by ~dennwc on ~eliasnaur/gio
I don't have any examples like this. Currently I'm experimenting with Gio on Android TV and wanted to map the colored keys on the remote, for example. But I guess these keys will still have similar names if a pure Linux distro is installed on the same hardware.
However, aligning all key names to a single definition for all platforms sounds too complicated for the first version. The namespaces approach I mentioned allows to start using keys in
InpuOp
filters without requiring a 100% alignment on all platforms. Downside is that once we start aligning these keys, the filter will break.So it's up to you. I can keep the names empty and only add the code for now.
Comment by ~dennwc on ~eliasnaur/gio
I'm interested in adding support for this as well, and I started experimenting with it already.
There's one question to consider: should the platform attempt to fill the
Name
field?It can be namespaced, e.g.
android.X
, in which case it will also be possible to list those keys in theSet
filter. For platforms that cannot fill the name, it can fallback to something likeandroid.C12345
(where C stands for "code").
Comment by ~dennwc on ~eliasnaur/gio
The move/rename of the native type (C type for EGL).
Comment by ~dennwc on ~eliasnaur/gio
~eliasnaur Still busy, sorry. If you have time to apply the mentioned change, may I ask you to do it on your side? I'll jump back to it to finish XKB as soon as I can.
On Thu, 26 Sep 2019 at 14:07, Denys Smirnov denis.smirnov.91@gmail.com wrote:
Are you still working on the X11 backend?
Yes, but I was busy recently. Will make the changes in following days.
FWIW, I extracted the XKB logic to a separate file independent of Wayland. Perhaps the X11 backend can reuse the code.
This is awesome! I'll check if I can reuse it directly, or there is something else needed on X11 side.
On Thu, 26 Sep 2019 at 11:05, ~eliasnaur outgoing@sr.ht wrote:
FWIW, I extracted the XKB logic to a separate file independent of Wayland. Perhaps the X11 backend can reuse the code.
https://gioui.org/commit/51cfb4e
-- View on the web: https://todo.sr.ht/~eliasnaur/gio/8#comment-3896
-- Denys
-- Denys
Comment by ~dennwc on ~eliasnaur/gio
Are you still working on the X11 backend?
Yes, but I was busy recently. Will make the changes in following days.
FWIW, I extracted the XKB logic to a separate file independent of Wayland. Perhaps the X11 backend can reuse the code.
This is awesome! I'll check if I can reuse it directly, or there is something else needed on X11 side.
On Thu, 26 Sep 2019 at 11:05, ~eliasnaur outgoing@sr.ht wrote:
FWIW, I extracted the XKB logic to a separate file independent of Wayland. Perhaps the X11 backend can reuse the code.
https://gioui.org/commit/51cfb4e
-- View on the web: https://todo.sr.ht/~eliasnaur/gio/8#comment-3896
-- Denys
Comment by ~dennwc on ~eliasnaur/gio
Sounds good, I see no harm in simplifying things. The library clearly states that API may break, so it should be OK :)