contour-terminal / contour

Modern C++ Terminal Emulator
http://contour-terminal.org/
Apache License 2.0
2.42k stars 105 forks source link

improve IME on MacOS #1291

Open christianparpart opened 1 year ago

christianparpart commented 1 year ago

Seems like MacOS's IME is hardcoded by long-pressing some keys to trigger the variations of such keys (e.g. e to allow a variation like ë etc). But that conflicts with key-repeat events.

Since key-repeat is something users might want to keep doing, we need to find a way working around that problem. We could find out (the manual way) which keys allow these variations by long-pressing them, and then simply disable key-repeat event on those keys, as it would be conflicting (or confusing) with the IME popup coming up each time.

Keys found: a,c,e,i,l,n,o,s,u,y,z, whereas l and y have only one variation (itsel - why?). We could also add a config option to allow disabling key repeat and/or IME alltogether.

uspasojevic96 commented 1 year ago

Look into how iTerm handled it, if at all

christianparpart commented 1 year ago

Look into how iTerm handled it, if at all

just checked. they don't do IME at all, apparently.

p.s.: I think on MacOS we should probably also default to that option, at least, by default, key-repeat should work, because IMHO that is what terminal users would expect the most.

jimmyjansen93 commented 9 months ago

Do I understand correctly that there is currently no way to change this to accept "key-repeat"?

christianparpart commented 9 months ago

Hey @jimmyjansen93. Many thanks for your interest in contour. Yes, currently there is no configurability on that. This is mostly due to the fact that I was lagging a good proposal on what users would want.

IMHO I think base key repeat is more relevant than IME input on MacOS. I wonder though if we should provide some kind of config option as well as key bindable toggle.

Yaraslaut commented 2 months ago

Related issue in Warp : https://github.com/warpdotdev/Warp/issues/3191 not sure how to set it specific for contour, but system wide setting is defaults write -g ApplePressAndHoldEnabled -bool false