I don't think KEYB SP is working right...
I don't think KEYB SP is working right...
I regularly use several DOS machines, and I just realised the symbols no longer match my keyboard's, despite having loaded KEYB SP. I don't think i had this issue with v14, but I'm not sure. Can anyone reproduce this?
Last edited by Neville on Wed 05 Jun, 2019 6:55 pm, edited 1 time in total.
Re: I don't think KEYB SP is working right...
MS-DOS 6.22 here and all fine ( normal, shift and alt+gr characters)
config.sys:
COUNTRY=034,,C:\DOS\COUNTRY.SYS
DEVICEHIGH=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
autoexec.bat
MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)
MODE CON CODEPAGE SELECT=850
KEYB SP,,C:\DOS\KEYBOARD.SYS
config.sys:
COUNTRY=034,,C:\DOS\COUNTRY.SYS
DEVICEHIGH=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
autoexec.bat
MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)
MODE CON CODEPAGE SELECT=850
KEYB SP,,C:\DOS\KEYBOARD.SYS
Re: I don't think KEYB SP is working right...
I'm just loading KEYB SP at the end of my AUTOEXEC.BAT, but that used to suffice on the old days.
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
No, it doesn't work correctly. Until now I thought it was fine because on Windows it was working fine... until I launched a MS-DOS session
On Windows ME the keyboard is fine for Windows programs but for DOS programs it doesn't work.
Note: KEYB command is no longer available on Windows ME, the keyboard layout for legacy DOS programs is set automatically according to the keyboard language selected for Windows.
I typed the same keys in the same order on Notepad and MS-DOS Editor, some keys give different results and ALT-GR characters are not showing at all on DOS:
And this happens also on another machine with MS-DOS 6.2x using KEYB SP but the same hard disk image (with same settings, no modifications at all) works OK on V14
On Windows ME the keyboard is fine for Windows programs but for DOS programs it doesn't work.
Note: KEYB command is no longer available on Windows ME, the keyboard layout for legacy DOS programs is set automatically according to the keyboard language selected for Windows.
I typed the same keys in the same order on Notepad and MS-DOS Editor, some keys give different results and ALT-GR characters are not showing at all on DOS:
And this happens also on another machine with MS-DOS 6.2x using KEYB SP but the same hard disk image (with same settings, no modifications at all) works OK on V14
Re: I don't think KEYB SP is working right...
Thank you. For a moment I thought I was seeing ghosts.
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
I'm quite used to hte US keyboard layout, you can download a picture of that keyboard to see what key you have to press for each symbol when a KEYB command or similar is not available or not working.
Please note that the backslash key located above ENTER in the US layout is placed between Left SHIFT and Z on most other layouts, also the right Alt is replaced with Alt Gr.
Also remember that if you already used KEYB xx (manually or from autoexec.bat) and it's not working properly you must run KEYB US again, otherwise you'll end with a big mess of layouts.
Wikipedia has this picture of the IBM Model M keyboard with US layout:
Please note that the backslash key located above ENTER in the US layout is placed between Left SHIFT and Z on most other layouts, also the right Alt is replaced with Alt Gr.
Also remember that if you already used KEYB xx (manually or from autoexec.bat) and it's not working properly you must run KEYB US again, otherwise you'll end with a big mess of layouts.
Wikipedia has this picture of the IBM Model M keyboard with US layout:
Re: I don't think KEYB SP is working right...
Thanks for the tip.
Re: I don't think KEYB SP is working right...
MS DOS 6.22 -> Fine
Command prompt on Windows 98 -> Fine
PCem V15 Command prompt on Windows Me -> Error as in ruben's post.
PCem V14 Command prompt on Windows Me -> Works ( same disk image and config as above)
Command prompt on Windows 98 -> Fine
PCem V15 Command prompt on Windows Me -> Error as in ruben's post.
PCem V14 Command prompt on Windows Me -> Works ( same disk image and config as above)
Re: I don't think KEYB SP is working right...
I'm getting wrong results under MS-DOS 6.22. This is what I get when I press Mays + the top row in my keyboard, under the function keys:
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
For me MS-DOS 6.22 is wrong too:
Edit: I compiled PCem five weeks ago, I will update it now and test again.
Edit 2: Only 'makefile.in' was changed since last update…
Edit 3: KEYB UK is not working 100% properly either.
Edit: I compiled PCem five weeks ago, I will update it now and test again.
Edit 2: Only 'makefile.in' was changed since last update…
Edit 3: KEYB UK is not working 100% properly either.
Last edited by ruben_balea on Tue 25 Jun, 2019 12:44 am, edited 1 time in total.
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
I've mixed the pictures while editing last topic…
With KEYB UK the key at the left of '1' works as a duplicate of the key at the left of 'Z' By the way I'm using a Spanish USB keyboard (Microsoft Wired Keyboard 600 Model 1366) on Windows 10 x64 Spanish, I'm not sure if that is relevant or not.
This is the result of the full numbers row with and witouth pressing also the 'SHIFT' key:
With KEYB UK the key at the left of '1' works as a duplicate of the key at the left of 'Z' By the way I'm using a Spanish USB keyboard (Microsoft Wired Keyboard 600 Model 1366) on Windows 10 x64 Spanish, I'm not sure if that is relevant or not.
This is the result of the full numbers row with and witouth pressing also the 'SHIFT' key:
Re: I don't think KEYB SP is working right...
I am unsure why you have the problem on MS-DOS, since it works here, but since I had the problem in WinMe, I tried recompiling the sources and located the commit 1432 "Add ability to change AT keyboard scancode and disable translation. Fixes keyboard in Solaris 8." to cause the command prompt on WinMe to fail on my side.
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
OK, I seen the updates to 'keyboard_ac.c' so I did a few more tests, KEYB SP with a PS/2 keyboard works in MS-DOS 6.22, with a XT keyboard works too but with an AT keyboard does not work.
The same applies for KEYB UK but on this case seems to be wrong only the key at the left of '1' which types the same characters as the key at the left of 'Z' i.e., \|
Note: With each kind of keyboard I mean emulating a motherboard with that kind of keyboard, not to the physical keyboard I'm using.
The same applies for KEYB UK but on this case seems to be wrong only the key at the left of '1' which types the same characters as the key at the left of 'Z' i.e., \|
Note: With each kind of keyboard I mean emulating a motherboard with that kind of keyboard, not to the physical keyboard I'm using.
Re: I don't think KEYB SP is working right...
Same for "german" keyb layout... Does not work with a dos version below 6.22.... Keyboard "freezes" when pressing [ALT GR]... So no Backslash possible with german keyboard driver
Re: I don't think KEYB SP is working right...
i can emulate the backslash with <STRG> + <ALT> + <#> on an IBM Thinkpad T440p with native German Keyboard running Windows 10 (German)
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: I don't think KEYB SP is working right...
I did intend to look at this; as per typical I've left it to the last minute
I can't see any difference in behaviour here between v14 and rev 1562 - KEYB SP works on DOS 5 and DOS 6.22, regardless of any other drivers being loaded, and Spanish keyboard works on Windows 98 in Notepad but not in a DOS prompt unless I run KEYB SP there as well.
I _can_ reproduce the DOS issues on the released build of v15 however. I think this may be due to different library versions in use. Possibly. So this probably isn't a bug, but something for me to double check during release preparation.
I can't see any difference in behaviour here between v14 and rev 1562 - KEYB SP works on DOS 5 and DOS 6.22, regardless of any other drivers being loaded, and Spanish keyboard works on Windows 98 in Notepad but not in a DOS prompt unless I run KEYB SP there as well.
I _can_ reproduce the DOS issues on the released build of v15 however. I think this may be due to different library versions in use. Possibly. So this probably isn't a bug, but something for me to double check during release preparation.
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
Hi Sarah, did you tested it on a few machines? Because on some it works fine and on others it doesn't work at all.
I'd posted my test results for v11 and v15 on a lot of machines:
It seems that forum links are now disabled or not working, at least for me...
[url] http://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=2&t=3270&sid=9f07c913afa58d07be43640dc4d61caf#p12418 [/url]
[url] http://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=2&t=3270&sid=9f07c913afa58d07be43640dc4d61caf#p12445 [/url]
Windows 98 Spanish loads keyb on autoexec.bat but on 98SE (at least the OEM version) setup program is buggy and configures autoexec.bat with la layout instead of sp layout for whatever region you choose.
Windows ME is even worse and it was (intentionally?) missing keyb.com
I'd posted my test results for v11 and v15 on a lot of machines:
It seems that forum links are now disabled or not working, at least for me...
[url] http://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=2&t=3270&sid=9f07c913afa58d07be43640dc4d61caf#p12418 [/url]
[url] http://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=2&t=3270&sid=9f07c913afa58d07be43640dc4d61caf#p12445 [/url]
Windows 98 Spanish loads keyb on autoexec.bat but on 98SE (at least the OEM version) setup program is buggy and configures autoexec.bat with la layout instead of sp layout for whatever region you choose.
Windows ME is even worse and it was (intentionally?) missing keyb.com
Re: I don't think KEYB SP is working right...
On AT (DIN) keyboard machines there are still problems. I think only newer (PS/2) machines work.
MS-DOS 6.22
MS-DOS 6.22
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: I don't think KEYB SP is working right...
Sorry, I don't have a Spanish keyboard so it's harder for me to work out what is working and what is broken. Can someone please give me a SPECIFIC example of ONE configuration running ONE OS, and details in very simple words what exactly the problem is? Preferably involving specific keys to test. And as few setup steps as possible. There's various talk about AT and PS/2 keyboards and statements like "I get also wrong/missing keys" with no specifics, which is confusing things (at least for me!).
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
Yes, give me a bit of googling time to see where keys are placed on UK keyboards
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
Those are the differences between UK and SP keyboards:
And now I'll do some tests on MS-DOS 6.22 with KEYB SP on various machines...- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
Tested using MS-DOS 6.22 3.5" 720KB boot floppy with the following configuration:
CONFIG.SYS:
AUTOEXEC.BAT
Testing results:
All 286+ systems seem to be OK now.
PC and XT systems hangs when using KEYB.COM with "/E" parameter for extended/enhanced keyboard.
MS-DOS versions from the PC/XT era (at least from 2.11 and up to 3.20) included the utility "KEYBSP.COM" (and similar ones for other languages) which could make different conversions than "KEYB.COM / SP"
Also the earliest ones were released before the IBM extended/enhanced keyboards existed, MS-DOS 3.21 is from 1987 and the first release with KEYB.COM utility and it may have already support for enhanced keyboards.
Conversion from OEM to ANSI is incorrect for PC and XT systems, those are their original results:
I will try to test Windows 9x too along Sunday
CONFIG.SYS:
Code: Select all
device=display.sys con=(ega,,1)
country=034,850,country.sys
Code: Select all
mode con codepage prepare=((850) ega.cpi)
mode con codepage select=850
KEYB SP,,KEYBOARD.SYS
Testing results:
Code: Select all
Already converted from OEM to ANSI
------ AMI XT CLONE ------
Ç¡¿#$%/&*()_+
ç1234567890-=
@
IOP^
iop`
[]
KLÑ:>
klñ;<
\
BNM?!"
bnm,.'
ZXC
zxc
USING CTRL+ALT AS Alt Gr
UNABLE TO TYPE ª º | ¬ { }
------ IBM PC ------
Ç¡¿#$%/&*()_+
ç1234567890-=
@
IOP^
iop`
[]
KLÑ:>
klñ;<
\
BNM?!"
bnm,.'
ZXC
zxc
USING CTRL+ALT AS Alt Gr
UNABLE TO TYPE ª º | ¬ { }
------ DTK XT clone ------
Ç¡¿#$%/&*()_+
ç1234567890-=
@
OP^
op`
[]
KLÑ:>
klñ;<
\
BNM?!"
bnm,.'
ZXC
zxc
USING CTRL+ALT AS Alt Gr
UNABLE TO TYPE ª º | ¬ { }
------ Generic XT clone ------
Ç¡¿#$%/&*()_+
ç1234567890-=
@
IOP^
iop`
[]
KLÑ:>
klñ;<
\
ZXC
zxc
USING CTRL+ALT AS Alt Gr
UNABLE TO TYPE ª º | ¬ { }
------ IBM XT ------
ª!"·$%&/()=?¿
º1234567890'¡
IOP^*
iop`+
KLѨÇ
klñ´ç
BNM;:_
bnm,.-
ZXC
zx
CAN'T USE CTRL+ALT AS Alt Gr
UNABLE TO TYPE ª º | @ ¬ { }
------ AMI 286 clone ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ Award 286 clone ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ Commodore PC 30 III ------
ª!"·$%&/()=?¿
º1234567890'¡
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ Compaq Portable II ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ Dell System 200 ------
ª!"·$%&/()=?¿
º1234567890'¡
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ IBM PS/1 model 2011 ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ IBM PS/2 Model 30-286 ------
ª!"·$%&/()=?¿
º1234567890'¡
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ Acer 386SX/25 ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ AMA-932J ------
ª!"·$%&/()=?¿
º1234567890'¡
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ AMI 386SX clone ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ IBM PS/1 model 2121 ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ MR 386DX clone ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ AMI 486 clone -------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ AMI WinBIOS 486 ------
ª!"·$%&/()=?¿
º1234567890'¡
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ Intel Premiere/PCI ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ Intel Advanced/ZP ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
------ Shuttle HOT-557 ------
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
----- FIC VIA-503+ -----
ª!"·$%&/()=?¿
º1234567890'¡
\|@# ¬
IOP^*
iop`+
[]
KLѨÇ
klñ´ç
{}
BNM;:_
bnm,.-
>ZXC
<zxc
PC and XT systems hangs when using KEYB.COM with "/E" parameter for extended/enhanced keyboard.
MS-DOS versions from the PC/XT era (at least from 2.11 and up to 3.20) included the utility "KEYBSP.COM" (and similar ones for other languages) which could make different conversions than "KEYB.COM / SP"
Also the earliest ones were released before the IBM extended/enhanced keyboards existed, MS-DOS 3.21 is from 1987 and the first release with KEYB.COM utility and it may have already support for enhanced keyboards.
Conversion from OEM to ANSI is incorrect for PC and XT systems, those are their original results:
Code: Select all
IBM PC and other XTs (emulating Alt Gr with Control+Alt) Every symbol on numbers row is misplaced except "$", "%" and "@"
Ç¡¿#$%/&*()_+
ç1234567890-=
@
IBM XT (Unable to emulate Alt Gr with Control+Alt)
ª!"·$%&/()=?¿
º1234567890'¡
286+
ª!"·$%&/()=?¿
º1234567890'¡
\|@ ¬
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: I don't think KEYB SP is working right...
Okay, I think this may be IBM's fault. I dug out the XT Technical Reference manual, and it looks like they completely changed the Spanish layout between the 84-key and 101-key keyboards. Compare 84-key :
to 101-key :
So I don't think the conversion on XT systems is a bug, it just uses the older layout.- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
OK, on PC/XT systems using keybsp.com from DOS 3.20 (on DOS 6.22 with setver.exe) instead of keyb.com everything works fine execept ">" and "<" which were moved from key 43 to key 45 and new key 43 is "RETURN" which of course works as expected so ">" and "<" symbols are missing.
- ruben_balea
- Posts: 191
- Joined: Mon 08 May, 2017 11:24 pm
- Location: Spain
Re: I don't think KEYB SP is working right...
Keyboard works fine also on Windows 95, 98, 98SE and ME. Tested on a few systems from AMI WinBIOS to FIC VA-503+ and also on MR386DX clone using Cx486DLC/25 CPU and 64MB of RAM and plain VGA
Windows ME command prompt has always US layout and I don't know how to change it permanently but keyb.com is still available on the folder with the files for the emergency boot floppy, usually c:\windows\command\ebd
You will have to run it for every command prompt or make a shortcut/batch file to launch command.com and run keyb.com automatically, somewhat like:
Windows ME command prompt has always US layout and I don't know how to change it permanently but keyb.com is still available on the folder with the files for the emergency boot floppy, usually c:\windows\command\ebd
You will have to run it for every command prompt or make a shortcut/batch file to launch command.com and run keyb.com automatically, somewhat like:
Code: Select all
command.com /K c:\windows\command\ebd\keyb.com sp