From: Bernd B. <bb...@ho...> - 2004-03-31 19:55:50
|
Aitor, I really could use the keyboard layouts and the KEYB executable by now, for testing purposes. looks like KEYB cannot look into subdirectories, and thus the need for the PUSHD/POPD you see below: I'm not sure what KEYB does exactly for locating the layout file: 1)look in current directory? ( %_CWD% ) 2)look in directory where KEYB is located? 3)look in subdirectory KEY (if it exists) of any of the above mentioned directories? this because it's fast: step 4 is slow, and 5 also. 4)look in path? (%PATH%) 5)look in subdirectory KEY (if it exists) of any directory mentioned in the PATH? say path=c:\fdos say current directory is C:\ say C:\FDOS\BIN\KEY\BR274.KL and C:\FDOS\BIN\KEY\BR.KL exist say KEYB is called from autoexec.bat in the following way: C:\FDOS\BIN\KEYB br,,br274.kl /id:274 in above situation, 1) will fail 2) will fail 3) will fail 4) will fail 5) would succeed, as it finds the requested file in the subdirectory KEY of one of the directories mentioned in the PATH variable. can you help me out on this? I really do not wish to do the PUSHD/KEYB/POPD in autoexec.bat! Bernd :DoNLS if exist %fdosroot%\NLS\localize.%2 set lang=%2 set uniqueID=%3 rem Latin America has no codepage number; Japan has no CPI file if "%4"=="" goto loadkeyb if "%5"=="" goto loadkeyb if not exist %fdosroot%\bin\%5.CPI goto loadkeyb rem DEVLOAD DISPLAY.SYS CON=(%5,,1) %fdosroot%\bin\DISPLAY CON=(%5,,1) %fdosroot%\bin\MODE CON CP PREP=((%4) %fdosroot%\bin\%5.CPI) %fdosroot%\bin\MODE CON CP SEL=%4 pause goto loadkeyb :loadkeyb set keybfile=NoKeyboardLayout for %%x in ( %fdosroot%\bin\key\*.kl ) do if "%fdosroot%\bin\key\%6.kl"=="%%x" set keybfile=%%x for %%x in ( %fdosroot%\bin\key\*.KL ) do if "%fdosroot%\bin\key\%6.KL"=="%%x" set keybfile=%%x set keybline= if "%6"=="" goto end shift shift shift shift shift set keybline=%1 %2 %3 %4 %5 %6 %7 %8 %9 pushd %fdosroot%\bin\key for %%x in ( /U %keybline% ) do %fdosroot%\bin\keyb %%x popd pause goto end |