Jump to content











Photo
- - - - -

[Script] Keyboard


  • Please log in to reply
2 replies to this topic

#1 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 25 July 2006 - 02:28 PM

In another topic Yorn complained that he got my German keyboard.

I had the idea to transfer the keyboard which is used locally.

1st: Change the line

pScrollBox1="409 English (United States)",1,4,60,97,171,21,"405 Czech", ....
to
pScrollBox1=Local,1,4,60,97,171,21,Local,"405 Czech", ....
(no quotes is correct)

2nd: Add the section
[Process-Local]

RegRead,"HKCU","Control Panel\International","Locale","%DOSKEYBKEY%"

RegRead,"HKLM","SYSTEM\ControlSet001\Control\Keyboard Layouts\%DOSKEYBKEY%","Layout Display Name","%LAYOUTNAME%"

RegRead,"HKLM","SYSTEM\ControlSet001\Control\Keyboard Layouts\%DOSKEYBKEY%","Layout File","%KBDDLL%"

RegRead,"HKLM","SYSTEM\ControlSet001\Control\Keyboard Layouts\%DOSKEYBKEY%","Layout Text","%LAYOUTTEXT%"

RegRead,"HKLM","SYSTEM\ControlSet001\Control\Keyboard Layout\DosKeybCodes","%DOSKEYBKEY%","%DOSKEYBVALUE%"

Everything ran fine, but finally Qemu hang during startup.

The reason is here:
'Auto' setup:
%LAYOUTNAME% = @%SystemRoot%\system32\input.dll#$c-5011
'Choice' setup:
%LAYOUTNAME% = @%SystemRoot%\\system32\\input.dll#$c-5011

Questions to the forum:

What's the reason for having the two backslashes? Regedit really shows an entry with one.
And how build the 'two' version from the 'one'.

Maybe Nuno Brito creates a "WriteIniSpecial"


Peter :P

#2 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10545 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 25 July 2006 - 03:03 PM

It's a good concept and I'm still trying to follow your order of ideas, but I admit that I'm having some dificulty to understand this process.. :P


However I don't think it should be necessary to read so many values from the local registry..

Once you get:

RegRead,"HKCU","Control Panel\International","Locale","%DOSKEYBKEY%"


Wouldn't this be enough information to read the needed files from txtsetup.sif located on the source windows?

In lack of these, it would probably also be possible to add them inside the keyboard script itself to save some time..


I might be wrong since I haven't rechecked txtsetup or tested this value, but can't these informations from locale settings also be used from there?




WriteIniSpecial


A ini command that wrote \\ instead of \ on given strings?

Perhaps I'll add a stringreplace function, that allows something like:
StrReplace,%var%,"\","\\"

Should do the trick... :P

#3 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 25 July 2006 - 04:12 PM

First the good news:
The hang was caused by some "CMD.EXE" running invisible and caused by crashes in my tests.
After killing them everything was ok.

I tested 047 Standard and NanoXP (with my mouclass fixes) with XP SP2 and W2003R2 as source.
I tested PicoXP with XP SP2 and W2003R2 as source.
Everytime I got my German 'ö' where US people get the ':'

You can download it here.

[attachment=55:attachment]

Wouldn't this be enough information to read the needed files from txtsetup.sif located on the source windows?

%LAYOUTNAME% and %DOSKEYBVALUE% can't be found in txtsetup.sif

Perhaps I'll add a stringreplace function, that allows something like:

StrReplace,%var%,"\","\\"

:P


Peter




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users