@ECHO OFF
REM XKEYB requires at least an AT class 286 computer
IS286
IF ERRORLEVEL 1 goto done
CLS
IF NOT [%HEADER%]==[] %HEADER%

IF EXIST %cdrom%\FREEDOS\INSTALL\DOCS\%LANG%\LDXKEYB.TXT TYPE %cdrom%\FREEDOS\INSTALL\DOCS\%LANG%\LDXKEYB.TXT
IF NOT EXIST %cdrom%\FREEDOS\INSTALL\DOCS\%LANG%\LDXKEYB.TXT TYPE %cdrom%\FREEDOS\INSTALL\DOCS\EN\LDXKEYB.TXT

SET KEY=FALSE
rem errorlevel counts as (NR or HIGHER), so if errlvl 12 means
rem errorlevel equal or larger than 12. So reverse evaluation order
choice /C:0abcdefghijklmnopqrstuvwxyz123 "                 "
IF ERRORLEVEL 2 set KEY=BE
IF ERRORLEVEL 3 set KEY=BR850
IF ERRORLEVEL 4 set KEY=CF
IF ERRORLEVEL 5 set KEY=DK
IF ERRORLEVEL 6 set KEY=DVORAK
IF ERRORLEVEL 7 set KEY=FR
IF ERRORLEVEL 8 set KEY=GR
IF ERRORLEVEL 9 set KEY=GR2
IF ERRORLEVEL 10 set KEY=HU

IF ERRORLEVEL 11 set KEY=IT
IF ERRORLEVEL 12 set KEY=LA
IF ERRORLEVEL 13 set KEY=LDVORAK
IF ERRORLEVEL 14 set KEY=NL
IF ERRORLEVEL 15 set KEY=NO
IF ERRORLEVEL 16 set KEY=PC850
IF ERRORLEVEL 17 set KEY=PC860
IF ERRORLEVEL 18 set KEY=PL
IF ERRORLEVEL 19 set KEY=PO
IF ERRORLEVEL 20 set KEY=RDVORAK

IF ERRORLEVEL 21 set KEY=RU
IF ERRORLEVEL 22 set KEY=SF
IF ERRORLEVEL 23 set KEY=SG
IF ERRORLEVEL 24 set KEY=SP
IF ERRORLEVEL 25 set KEY=SU
IF ERRORLEVEL 26 set KEY=SV
IF ERRORLEVEL 27 set KEY=TR
IF ERRORLEVEL 28 set KEY=UK
IF ERRORLEVEL 29 set KEY=US
IF ERRORLEVEL 30 set KEY=US-LV

ECHO.
IF [%KEY%]==[FALSE] goto end
REM echo Attempting to load keyboard driver with %KEY% settings
xkeyb %key%
GOTO end

:end
if [%KEY%]==[FALSE] ECHO XKeyB not loaded.
set KEY=
PAUSE
:done
