Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shift arrow movement doesn't select text on linux #29

Open
jettnet opened this issue Jul 3, 2020 · 5 comments
Open

Shift arrow movement doesn't select text on linux #29

jettnet opened this issue Jul 3, 2020 · 5 comments

Comments

@jettnet
Copy link

jettnet commented Jul 3, 2020

For example, Shift + Cur + "h" does not select text on linux (but it does seem to work on Chrome OS).

@ronny-rentner
Copy link

This is because with the current 3l layout, it does not remove the modifier bits from the modifier key. 3l would need a definition like this:

key <AD08> {
        symbols[Group1]= [         i,          I, Up, Up ],
        actions[Group1]=[ NoAction(), NoAction(), RedirectKey(key=<UP>,clearmods=AltGr),RedirectKey(key=<UP>,clearmods=AltGr)]

    };

In this case, AltGr is the modifier key that enables ISO Level 3 Shift.

You can check that with xev -event keyboard.

wrong:

KeyRelease event, serial 28, synthetic NO, window 0x3e00001,
    root 0x7a4, subw 0x0, time 26536943, (79,88), root:(179,253),
    state 0x81, keycode 113 (keysym 0xff51, Left), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Check the state here. It sends 0x80 for AltGr + 0x1 for Shift. The combination confuses some programs, eg. Google Chrome and Google Docs.

right:

KeyRelease event, serial 28, synthetic NO, window 0x3e00001,
    root 0x7a4, subw 0x0, time 26536943, (79,88), root:(179,253),
    state 0x1, keycode 113 (keysym 0xff51, Left), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Because of clearmods=AltGr only Shift modifier bit is sent. It works now in Google Chrome.

@jettnet
Copy link
Author

jettnet commented Jun 26, 2022

Ah that makes sense! I remember trying a few things in the definition file without success, but I didn't have the skills to make it work. Thank you! Is this worth opening a pull request?

@jettnet
Copy link
Author

jettnet commented Jun 26, 2022

I have also noticed that Ctrl+Tab and Ctrl+Shift+Tab do not switch tabs on ChromeOS. I wonder if they are related?

@ronny-rentner
Copy link

I don't think Ctrl+Tab is the same issue but you can compare xev output if it is the same in case us layout is working for you. There might be differences that can be fixed.

Certainly a PR would be a good idea. Though, I am personally not using 3l and just found it out of curiosity.

@ronny-rentner
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants