Uh. I'm going to stop you right there. The HKL values are issued by
Microsoft and are done, I believe, on the understanding that no-one else is
creating keyboard layouts. I'd recommend you take advantage of someone
else's hard work and use Microsoft Keyboard Layout Creator
(http://www.microsoft.com/globaldev/tools/msklc.mspx) to generate your
layouts and use the MSI created by that application.

 

Further, I suggest that if you need different characters to be emitted when
the user types something in your application, that you use whatever
facilities your environment provides - for example, subclassing an edit
control and translating WM_CHAR before sending it to the edit control's
window procedure, or using the .NET Framework's KeyPreview feature - to
translate from the pressed key to the desired character. New keyboard
layouts are intended for global use and generally to correspond with actual
keyboard layouts on keyboards.

 

-- 

Mike Dimmick

 

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jason Rivers
Sent: 13 December 2007 10:21
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Slightly advanced Registry...

 

Hi all.

I have a list of new keyboards that we ship with our product due to using a
different Character set.

the keyboard setup goes to HKLM\SYSTEM\CurrentControlSet\Control\Keyboard
Layouts

the new key needs a Unique name, I'm currently (for UK) using d1000809, and
this is hard coded into my WIX installer. I'm sure this is the wrong way of
doing it, and I should be able to "look" at the keys there and pick
something that isn't used. (the last 3 or 4 chars must be 804 or 0809 for a
UK Keyboard as I understand it.) 

Also, to automatically load install the keyboard to the users profile, I
need to look in HKCU\Keyboard Layout\Preload

in here is some Stings named with a number (1, 2, 3, etc...) and with the
value of the keyboard (in this case d1000809) but it appears if I hard code
then firstly i'm concerned that I'll overwrite a keyboard someone already
has defined, and secondly if there is a gap, EG(1, 2, 4) then number 4 won't
be seen. so I need a way of looking at what the latest is, and then add this
to the registry as appropriate. 

This also gets more fun because in theory people will want 1 or maybe 2
keyboards, but in practice (if they don't really know what they're doing)
they could install up to around 25 additional keyboards.

is there a way I can do this?

Jason

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to