openstenoproject / plover

Open source stenotype engine
http://opensteno.org/plover
GNU General Public License v2.0
2.32k stars 281 forks source link

Issues with symbols `{` on linux Ubuntu. #1503

Closed cmester0 closed 2 years ago

cmester0 commented 2 years ago

When inputting TPR-BGT i get 7 instead of { that is \{{^} gives an incorrect output. Similar issues happen with other symbols.

user202729 commented 2 years ago

Try restarting Plover to see if it helps. (if it does, it's https://github.com/openstenoproject/plover/pull/1164)

cmester0 commented 2 years ago

Resolved by running: ./plover.AppImage -s plover_plugins install -v 'PyQt5==5.14.2' 'PyQt5-sip==12.7.2'

benoit-pierre commented 2 years ago

Please provide more information: what version of Plover are you using exactly? Does the incorrect output happen in all applications? I don't see how (possibly) downgrading PyQt5 is relevant, unless maybe if the issue happens only within the Plover GUI text fields.

cmester0 commented 2 years ago

Hmm, seems like it just worked for a second, might be missing something in my path. I am using plover-4.0.0.dev10-x86_64.AppImage. I can only get Plover to work when writing in emacs, where the issue happens. Everywhere else it just types as normal.

benoit-pierre commented 2 years ago

What layout do you use? Do you use ibus? xmodmap? How are 7 and { mapped on your keyboard layout?

cmester0 commented 2 years ago

I use the default layout (from QMK) on a crkbd, however the issue happens on two different ubuntu machines, even using the onboard keyboard with english:us keyboard layout and no keyboards pluged in. It seems like the input in different windows works if I use Xorg instead of wayland, however it still gives 7 instead of {. I think i am using ibus.

cmester0 commented 2 years ago

Seems to be an issue with a missing modifier key, tried printing the mapping and got:

keysym_to_string 55
is_latin1 55
chr 7
16:0=37[7]
keysym_to_string 47
is_latin1 47
chr /
16:1=2f[/]
keysym_to_string 123
is_latin1 123
chr {
16:80=7b[{]

So when you send 123 it should add the 80 modifier?

cmester0 commented 2 years ago

The issue seems to be that my default layout is danish, which it knows is the AltGr + 7 key combination on the keyboard, however when I have english keyboard active this combo just results in 7. So it only works when I use the default keyboard layout.

cmester0 commented 2 years ago

@benoit-pierre hope this helps.

benoit-pierre commented 2 years ago

Looks like a duplicate of #650.

For Wayland, assuming you're using a compatible config, you can check this branch (see discussion).