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

Ctrl+Right won't pass through - even on lock mode #420

Closed
dantepippi opened this issue Apr 30, 2021 · 7 comments
Closed

Ctrl+Right won't pass through - even on lock mode #420

dantepippi opened this issue Apr 30, 2021 · 7 comments
Labels
config Improvements to the configuration system help wanted Extra attention is needed suspected bug

Comments

@dantepippi
Copy link
Contributor

When I try to use Ctrl + Right, Zellij won't send those keys to the terminal. Even on lock mode, where I'd expect every key combination except Ctrl + g to pass through, it doesn't work.

I found a related issue (#357) but reporting problems where users could not bind those keys. My problem is related but a little different, where I just want to be able to pass them to other programs. If you guys prefer to keep just one issue, let me know and I comment there.

zellij --version: tested with 0.6.0 and main branch

@dantepippi
Copy link
Contributor Author

Just found out it's probably related to this termion issue. Sad part is that this issue is 1 year old already, so we might need to find another option?

https://gitlab.redox-os.org/redox-os/termion/-/issues/169

@a-kenji
Copy link
Contributor

a-kenji commented Apr 30, 2021

Thanks for creating this issue! I also believe they are related. We have problems handling the key at all. If it helps people find the issue, i think its OK to keep it.

cc @khs26
Investigated a bit about this issue. If I recall correctly it works but is still in a very weird state and it is quite some work to implement it cleanly. Maybe he can give additional input.

@a-kenji a-kenji added config Improvements to the configuration system help wanted Extra attention is needed labels Apr 30, 2021
@khs26
Copy link
Contributor

khs26 commented May 2, 2021

My finding was mainly that the existing PR looked a bit messy. They added a whole bunch of Ctrl<Special> options to the existing Key enum. I'm not sure if the termion devs would be keen to add that.

I did half try making the Ctrl(char) enum into a Ctrl(dyn CharOrSpecial) enum, but was foiled by my rubbish knowledge of Rust traits.

@imsnif
Copy link
Member

imsnif commented May 2, 2021

@khs26 - do you think we can fix this by either:

  1. Forwarding all of these to the pty directly: https://github.com/zellij-org/zellij/blob/main/src/common/input/handler.rs#L74
  2. Looping over stdin directly and then trying to interpret the keys with termion rather than using their mixin here: https://github.com/zellij-org/zellij/blob/main/src/common/input/handler.rs#L67
    ?

I also read somewhere that people have been having issues inserting certain Chinese characters with Shift. I guess this is related? I'm hoping one of these solutions can be a quick fix so that we won't have to have a fully fledged VTE state machine in the input as well :)

@imsnif
Copy link
Member

imsnif commented May 17, 2021

@dantepippi - this should be solved in 0.11.0 and onwards. Can you please check?

@dantepippi
Copy link
Contributor Author

Yes @imsnif, this issue seems to be fixed in 0.11.0.

@imsnif
Copy link
Member

imsnif commented May 17, 2021

Awesome :) Thanks for checking

@imsnif imsnif closed this as completed May 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
config Improvements to the configuration system help wanted Extra attention is needed suspected bug
Projects
None yet
Development

No branches or pull requests

4 participants