logseq / logseq

A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap
https://logseq.com
GNU Affero General Public License v3.0
32.77k stars 1.92k forks source link

Android: diacritics input with bluetooth keyboard interferes with some built-in shortcuts #11495

Open tomash opened 2 months ago

tomash commented 2 months ago

Search first

What Happened?

I'm having trouble inputting polish diacritics in Logseq when using bluetooth keyboard, set to Android's Polish layout.

Polish diacritics are input using right-alt (alt-gr sometimes called) and the latin letter "base". Right alt+a becomes ą, right alt + e becomes ę, right alt+c = ć, right alt+ś = ś, right alt+z = ż, right alt+l = ł, right alt+o = ó (exception: right alt+x = ź as z is already used for ż).

The problem is that in Logseq three of them don't input diacritics but trigger some pretty invasive actions instead:

Now I know alt-l is a built-in "delete entire block content" shortcut, I can set it to something else in Logseq. The problem is that it should not be triggered by RightAlt/AltGr, only by "regular" Left Alt.

All of those diacritic inputs work in all other applications on the same device, like Google Docs, Chrome and Brave Browsers, etc.

Tested with three bluetooth keyboards: Keychron K6, Keychron K8 and Logitech K380. Tested on two Android devices: Onyx Boox Note Air 3C, Xperia 5 mk3. Funny thing: this issue happens only on the Onyx Boox Note Air 3C, all diacritics work properly in Logseq Android in Xperia 5mk3 (Android 13). Is there something different for Logseq when ran on tablet? As stated above, no other app on Onyx Air3C exhibits this behavior.

I'll be happy to test it with a different android application using similar tech stack - maybe it's something specific to Capacitor or some other dependency?

Reproduce the Bug

  1. Connect bluetooth keyboard to Onyx Boox Note Air 3C, set its layout to "Polish"
  2. Start typing polish diacritics in Logseq for Android.

Expected Behavior

Right alt + l should produce ł. Right alt + a should produce ą.

Screenshots

I've recorded a short video showing what happens. ó and ć go in as expected: https://www.youtube.com/watch?v=ZWtzRFycqic

Desktop or Mobile Platform Information

Onyx Boox Note Air 3C Android 12 Build version: 2024-03-27_11-06_3.5.1_575390d56

Additional Context

No response

Are you willing to submit a PR? If you know how to fix the bug.

tomash commented 2 months ago

Tested it on a "regular" tablet, Alldocube iPlay 40 with Android 10 -- and polish diacritics with bluetooth keyboard work properly in Logseq. Which means this is Onyx specific, maybe something about the keyboard configuration and layout there. I'd be happy to investigate further if I get some pointers on what to check.

Or rather: something specific to Onyx + Logseq that they don't properly differentiate between AltGr and regular (left) Alt.

EDIT: Confirmed it's the same when using wired USB connection with Keychron keyboards.