ClementTsang / bottom

Yet another cross-platform graphical process/system monitor.
https://clementtsang.github.io/bottom/
MIT License
9.34k stars 220 forks source link

Keyboard shortcuts are useless when Caps Lock is on #572

Open KSXGitHub opened 2 years ago

KSXGitHub commented 2 years ago

Describe the bug

The program seems to not respond to keyboard shortcuts when Caps Lock is on.

What operating system/architecture are you using?

Linux

What terminal are you using bottom on?

Tilix

What version are you on?

0.6.3

How did you install bottom?

From the Arch Linux repositories:

pacman -S bottom

How can we reproduce this?

What is the actual behaviour?

The program doesn't quit.

What is the expected behaviour?

The program quits.

ClementTsang commented 2 years ago

Hmm, interesting. It probably doesn't respond because the keybinds are technically case-sensitive.

Since I'm kinda half-rewriting the code controlling that right now anyways I can look into that. Totally didn't test how it interacts with caps lock because I'm one of those people who doesn't have a caps lock key binding... oops :whistle:

ClementTsang commented 2 years ago

Just took a peek at crossterm, unfortunately, doesn't seem to have caps lock detection yet.

Anyways, in regards to next steps, I'm going to be keeping some of the case-specific keybinds (G to jump to the end of the list, P to show a full process name, probably forgetting a few more), but I'll look into making some of the other important ones (like q, as you mentioned!) ignore case sensitivity.

ClementTsang commented 1 year ago

Note to self: crossterm does (at least partially) support detection now (I think?), see https://docs.rs/crossterm/latest/crossterm/event/struct.KeyEventState.html#associatedconstant.CAPS_LOCK

It isn't the perfect solution though, as it requires this to be set, which only works on terminals implementing the kitty protocol.