I don't think KEYB SP is working right...

Support and general discussion.
Post Reply
User avatar
Neville
Posts: 44
Joined: Tue 02 Aug, 2016 1:43 pm

I don't think KEYB SP is working right...

Post by Neville »

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.
JosepMa
Posts: 202
Joined: Tue 20 Jun, 2017 6:25 pm

Re: I don't think KEYB SP is working right...

Post by JosepMa »

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
User avatar
Neville
Posts: 44
Joined: Tue 02 Aug, 2016 1:43 pm

Re: I don't think KEYB SP is working right...

Post by Neville »

I'm just loading KEYB SP at the end of my AUTOEXEC.BAT, but that used to suffice on the old days.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

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 :o
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:

Imagen1.png
Imagen1.png (31.99 KiB) Viewed 22748 times

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
User avatar
Neville
Posts: 44
Joined: Tue 02 Aug, 2016 1:43 pm

Re: I don't think KEYB SP is working right...

Post by Neville »

Thank you. For a moment I thought I was seeing ghosts.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

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:
Image
User avatar
Neville
Posts: 44
Joined: Tue 02 Aug, 2016 1:43 pm

Re: I don't think KEYB SP is working right...

Post by Neville »

Thanks for the tip.
JosepMa
Posts: 202
Joined: Tue 20 Jun, 2017 6:25 pm

Re: I don't think KEYB SP is working right...

Post by JosepMa »

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)
User avatar
Neville
Posts: 44
Joined: Tue 02 Aug, 2016 1:43 pm

Re: I don't think KEYB SP is working right...

Post by Neville »

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:

Image
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

For me MS-DOS 6.22 is wrong too:
The attachment 2506190035.png is no longer available
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.
IBM M KEYBOARD UK.jpg
IBM M KEYBOARD UK.jpg (149.6 KiB) Viewed 22455 times
Last edited by ruben_balea on Tue 25 Jun, 2019 12:44 am, edited 1 time in total.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

:roll: 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' :arrow: 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:
Screenshot from 2019-06-25 02-31-23.png
Screenshot from 2019-06-25 02-31-23.png (3.14 KiB) Viewed 22452 times
JosepMa
Posts: 202
Joined: Tue 20 Jun, 2017 6:25 pm

Re: I don't think KEYB SP is working right...

Post by JosepMa »

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.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

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.
mgutzeit
Posts: 2
Joined: Sun 23 Sep, 2018 5:14 pm

Re: I don't think KEYB SP is working right...

Post by mgutzeit »

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
mgutzeit
Posts: 2
Joined: Sun 23 Sep, 2018 5:14 pm

Re: I don't think KEYB SP is working right...

Post by mgutzeit »

i can emulate the backslash with <STRG> + <ALT> + <#> on an IBM Thinkpad T440p with native German Keyboard running Windows 10 (German)
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: I don't think KEYB SP is working right...

Post by SarahWalker »

I did intend to look at this; as per typical I've left it to the last minute :oops:

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.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

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
JosepMa
Posts: 202
Joined: Tue 20 Jun, 2017 6:25 pm

Re: I don't think KEYB SP is working right...

Post by JosepMa »

On AT (DIN) keyboard machines there are still problems. I think only newer (PS/2) machines work.
MS-DOS 6.22
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: I don't think KEYB SP is working right...

Post by SarahWalker »

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!).
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

Yes, give me a bit of googling time to see where keys are placed on UK keyboards
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

Those are the differences between UK and SP keyboards:
IBM_MODEL_M_UK_TO_SP.jpg
IBM_MODEL_M_UK_TO_SP.jpg (253.27 KiB) Viewed 16210 times
And now I'll do some tests on MS-DOS 6.22 with KEYB SP on various machines...
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

Tested using MS-DOS 6.22 3.5" 720KB boot floppy with the following configuration:

CONFIG.SYS:

Code: Select all

device=display.sys con=(ega,,1)
country=034,850,country.sys
AUTOEXEC.BAT

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



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:

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'¡
\|@  ¬
I will try to test Windows 9x too along Sunday
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: I don't think KEYB SP is working right...

Post by SarahWalker »

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 :
xt_spanish.png
xt_spanish.png (140.52 KiB) Viewed 16170 times
to 101-key :
at_spanish.png
at_spanish.png (152.6 KiB) Viewed 16170 times
So I don't think the conversion on XT systems is a bug, it just uses the older layout.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

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.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: I don't think KEYB SP is working right...

Post by ruben_balea »

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:

Code: Select all

command.com /K c:\windows\command\ebd\keyb.com sp
Post Reply