Reader Lionel Fourquaux asked me:

I was mentioning MSKLC to a fellow student who complained that he couldn't get his usual keyboard configuration on Windows, when I realized that on one point he was perfectly right to complain: since MSKLC install a system-wide keyboard DLL, it cannot be used by a normal user (non-admin). This can be very inconvenient for shared computers.

I think that keyboard configurations should be fully a per-user setting, and that this problem should be considered for the future.

This is a very interesting feature idea, even more so in the world of Vista and LUA/UAC. The question becomes almost obvious -- why can't keyboards work at a per-user level?

Unfortunately, the problem is complicated by the fact that since NT 4.0, this particular bit of the user subsystem has been one of those bits that is mostly a kernel mode component (more information in the article entitled MS Windows NT Kernel-mode User and GDI White Paper for those who are curious about this change).

With user profiles being as complicated as they are, tying them in such a way as to allow per-user keyboards would be a pretty difficult negotiation!

With that said, there are other pieces of profiles that are made part of the local machine only (they end up in the user's hidden Local Settings directory (now AppData\Local in Vista). So perhaps there could be a mechanism to allow keyboards that are "per user" which are registered when the user is logged in so that the kernel mode piece would know to (and be able!) to pay attention to it. Perhaps this could be a feature in a future version of Windows? :-)

Now of course I would not encourage people to get their hopes up too much (and even ignoring that it is obviously going to be a bit of time before the next release of Windows), but it might be a feature idea to keep in mind.

I'll be sure to do my best to make sure that after such a feature is in Windows that the version of MSKLC that comes out will support it....

 

This post brought to you by  (U+ff4b, a.k.a. FULLWIDTH LATIN SMALL LETTER K)