Opened 8 years ago

Last modified 2 years ago

#13110 assigned bug

Twitcher summoned on CTRL+I

Reported by: humdinger Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Kits/Interface Kit Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

This is hrev50749.

I suspect this has been true for a long time, but I never noticed:
For me CTRL+I does the same as CTRL+TAB, i.e. it switches between applications and summons the Twitcher window when held.

That can't be right. Some app may use that key combo. Like vim does for... already forgot it, like most of vim shortcuts. :)

Change History (7)

comment:1 by humdinger, 8 years ago

Just in case, here's the code calling the Twitcher/Switcher:
http://xref.plausible.coop/source/xref/haiku/src/kits/interface/Window.cpp#3752

comment:2 by pulkomandy, 8 years ago

Ctrl+I emits a TAB character. It is used in vim to... insert a TAB character.

How to tell:

So in the same way, control+H is backspace, control+J is a newline, etc.

If you dislike these, you can remove them from your keymap.

A few of them don't have direct access key (for example control+L = page break) and are sometimes used (in old C sources or manpages, finding a page break is not completely uncommon).

comment:3 by axeld, 8 years ago

Owner: changed from axeld to nobody
Status: newassigned

in reply to:  2 comment:4 by bipolar, 2 years ago

Replying to pulkomandy:

Ctrl+I emits a TAB character. It is used in vim to... insert a TAB character. [...] So in the same way, control+H is backspace, control+J is a newline, etc.

If you dislike these, you can remove them from your keymap.

Jeez, this one was driving me nuts. I would have never have expected to have to modify the keymap to avoid this weird/unexpected behaviour (I don't recall seeing it even on Linux).

Specially confusing because I use "Windows/Linux" shortcuts mode, so ALT+I (what I see on the physical keyboard) was really making no sense at all.

Good thing that it can be modified from the Keymap preflet.

I still think these are bad defaults, but oh well... at least I can stop grepping the source code trying to find where CTRL+I was invoking the Twitcher :-D

One day will have a system wide KeyBindings preflet, and a working AltGr key... one can dream :-P

Edit: forgot to add... Thanks Pulkomandy for pointing out the workaround!

Last edited 2 years ago by bipolar (previous) (diff)

comment:5 by pulkomandy, 2 years ago

I would have never have expected to have to modify the keymap to avoid this weird/unexpected behaviour (I don't recall seeing it even on Linux).

It works just the same in Linux for example in the Terminal. But not in all applications, since they use control for keyboard shortcuts usually. I think it's how this works in DOS too?

If we removed them from the keymap we would have to special-case them in Terminal so that it continues to work there.

in reply to:  5 comment:6 by bipolar, 2 years ago

Replying to pulkomandy:

It works just the same in Linux for example in the Terminal. But not in all applications, since they use control for keyboard shortcuts usually. I think it's how this works in DOS too?

I should have expressed myself better: I guess I only ever expected those to work on a console shell, and was really not expecting them outside one (and don't recall encountering them, even on Linux GUI environments, that was what I failed to express).

DOS has, at the very least, ^Z as "EOF" marker for things like "copy con", for sure.

If we removed them from the keymap we would have to special-case them in Terminal so that it continues to work there.

That sounds like a good compromise solution, more close to where they are more likely to be needed/used/expected.

I any case... happy to have found a workaround in the meantime! Thanks again!

Last edited 2 years ago by bipolar (previous) (diff)

comment:7 by nephele, 2 years ago

If we removed them from the keymap we would have to special-case them in Terminal so that it continues to work there.

sounds like the better option to me, terminal really is a special case here

Note: See TracTickets for help on using tickets.