PuTTY wish key-mapping

Home | Licence | FAQ | Docs | Download | Keys | Links
Mirrors | Updates | Feedback | Changes | Wishlist | Team

summary: Generic key mapping facility
class: wish: This is a request for an enhancement.
difficulty: tricky: Needs many tuits.
depends: portable-keyboard
priority: medium: This should be fixed one day.

We've resisted introducing generalised key remapping for some time, on the grounds that it's just too horrible, and also on the grounds that if we introduce a scripting language then key remapping could appear as a side benefit of that.

However, since scripting now looks likely to be a DLL plugin if it even happens at all, and since more and more people have written to tell us that there are more configurations in use for the function keys than we could possibly have dreamed of, I think we're eventually going to have to get round to doing a proper key remapping facility.

The major difficulty in this is that we want PuTTY to remain portable to other operating systems. So we're somehow going to have to split the keyboard processing down the middle, so that we have a platform-dependent half which converts Windows keyboard messages into a set of PuTTY standard key and modifier names, and then a platform-generic half which maps our standard key names into actual character sequences to be sent to the host. (See portable-keyboard for further discussion of this problem.)

SGT, 2006-05-24: A user suggests that it would be nice when using some server-side applications (irssi in particular) to be able to configure the mouse scroll wheel to send scroll-up and scroll-down keypresses to the server. This seems to me to be best implemented by having a general key remapping layer and making it able to remap mouse events as well as key events. (This would also allow users to disable or reconfigure the normal mouse button behaviour as well if they disliked the default.)

Audit trail for this wish.


If you want to comment on this web site, see the Feedback page.
(last revision of this bug record was at 2006-05-24 14:56:52 +0000)