Ok Peter, the only disadvantage of not using COUNTRY would be the no availability of collating tables (thus a possible, yet remote, problems with filenames with a non-ASCII uppercase/lowercase correspondence).
Good luck, interesting project indeed! Aitor 2012/1/3 Pete Batard <[email protected]>: > Hi Aitor (and thanks a lot for KEYB.EXE/SYS, which I am relying on in > the FreeDOS version of Rufus, and which support a whole lot more layouts > than the MS-DOS equivalent), > > On 2011.12.31 13:32, Aitor Santamaría wrote: >> A little addition to Rugxulo's post, that's quite good imho, I suggest >> avoiding MODE CON CP SEL, and now that you load COUNTRY, replace it >> with CHCP at the very bottom. >> >> Should work as well (or better). > > Thanks for the pointer, but I have now completed the keyboard locale > setting, and decided not to use country.sys and chcp for the time being. > > The main reason for that is that I need to set the keyboard using a > method that will work for both FreeDOS and WinMe DOS and, in order to > keep the non FreeDOS version of Rufus as small as possible, ensure that > no extra files need to be embedded in the case of WinME DOS (i.e. only > the ones provided by the WinMe DOS bootable floppy image from > diskcopy.dll are used). > > Thus, I am using mode con cp prep and mode con cp sel in both cases, > since it allows to factorize much of the KB layout and codepage > selection code. > > I think most of the people using Rufus will be interested in running > simple apps, such as BIOS flash utilities, and therefore may not have > that much of a requirement for extra such as country.sys setup. What > they will most likely want is a keyboard layout that matches the one > they used on their Windows machine and that's about it. > Of course, I'm waiting on feedback on Rufus to see if there are requests > for additional locale settings. > > If anybody is interested, the keyboard layout and codpage selection is > all done in [1]. Basically, we read the keyboard layout code and system > locale from Windows, find out if we have a match in the .sys and > .cpi/.cpx files we extracted, and create the relevant > CONFIG.SYS/AUTOEXEC.BAT, with a human readable description of the locale > selection and with a possible fallback to us/437. > > The end result for FreeDOS then is as follows (when running Rufus with a > version of Windows that detected a UK or Ireland locale): > > CONFIG.SYS: > ----------- > MENU > MENU FreeDOS Language Selection Menu > MENU ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ > MENU > MENUDEFAULT=1,5 > MENU 1) Use UK-English keyboard with Western-European (Euro) codepage [858] > MENU 2) Use US-English keyboard with US-English codepage [437] > MENU > 12? > > AUTOEXEC.BAT: > ------------- > @echo off > set PATH=.;C:\;C:\LOCALE > display con=(ega,,1) > GOTO %CONFIG% > :1 > mode con codepage prepare=((858) C:\locale\ega.cpx) > NUL > mode con codepage select=858 > NUL > keyb uk,,C:\locale\keyboard.sys > :2 > > This way, the AUTOEXEC.BAT is the same for WinME DOS and the only > changes in CONFIG.SYS (after sorting out the much more limited locale > support in the case of WinMe) have to do with the menu command. I > believe this should be good enough for the time being. > > Since you're here however, I would have one question: > Are Korean and Farsi (Persian) keyboard layouts supported in FreeDOS? > Windows seems to require specific layouts for those, but I couldn't find > mention of "ko" or "fa" as supported by KEYB.EXE, so I commented these > out. Did I miss something? > > Regards, > > /Pete > > [1] https://github.com/pbatard/rufus/blob/master/src/dos_locale.c > > ------------------------------------------------------------------------------ > Write once. Port to many. > Get the SDK and tools to simplify cross-platform app development. Create > new or port existing apps to sell to consumers worldwide. Explore the > Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join > http://p.sf.net/sfu/intel-appdev > _______________________________________________ > Freedos-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freedos-devel ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
