joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.67k stars 378 forks source link

\ character problem with Turkish Q Keyboard #2567

Open akcansoft opened 3 years ago

akcansoft commented 3 years ago

I use Turkish Q Keyboard on pressed Alt Gr and *

on Window10 Notepad --> \ on DOS Command prompt --> \

on DoxBox-X on DOS Command prompt --> \ on QuickBasic v4.50 Editor --> * on QuickBasic v74.1 Editor --> none on FreeDOS Edit 0.9a --> none , When I press any key with ALt Gr--> none

tr

Wengier commented 3 years ago

I don't have the equipment to test this myself. But FreeDOS provides a XKEYB tool (https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/xkeyb/xkeyb/1.90/xkeyb19x.zip), which was used to solve non-USA keyboard issues in vDosPlus, perhaps you can try it and see if it helps? Try XKEYB TR for Turkish I think.

akcansoft commented 3 years ago

Xkeyb did not solve the problem. I think the problem is not caused by KEYB. Because the \ character is OK in the command line, but there is a problem in the Quickbasic v4.5 and Qbasic v1.1 editor.

rderooy commented 3 years ago

I'm wondering if this may have something to do with that DOS historically did not support a Turkish keyboard.

https://www.dosbox.com/wiki/KEYB

Correction, it seems that it was possible, at least with MS-DOS 6.2, but required a different keyboard driver. https://hwiegman.home.xs4all.nl/msdos/113841.htm

joncampbell123 commented 3 years ago

Apparently there is a code page for Turkish as well for MS-DOS.

https://en.wikipedia.org/wiki/Code_page_857

akcansoft commented 3 years ago

I couldn't explain my problem because I don't know English well.

There is no problem with Turkish keyboard and keys on DOSBox-X Command prompt. The problem is that when I press AltGR + * in the QBasic editor, the * character is output instead of the \ character.

Wengier commented 3 years ago

@akcansoft QBasic uses INT9/IRQ1 for keyboard handling, and it was a known issue for vDosPlus unless KEYB/XKEYB is used. Below is the content of that FAQ section, which may or may not apply to DOSBox-X:

"For DOS applications like DOS EDIT and XyWrite that "hook" into the keyboard INT9/IRQ1 interrupt, vDosPlus requires extra steps to support non-US keyboards. If your DOS application does not use keyboard INT9/IRQ1 handling, then vDosPlus uses the same keyboard layout as the host Windows system like in original vDos. If you wish to use a non-US keyboard with vDosPlus when the keyboard INT9/IRQ1 handling is involved, please download the FreeDOS keyb.exe and keyboard.sys from this link and copy them into your vDosPlus folder. Then add two lines to autoexec.txt (or another batch file) that will switch to the needed codepage and load the correct keyboard layout. For example, to use a Spanish keyboard layout, add these two lines:

CHCP 850 KEYB SP,850 /9

Note that the "/9" switch is required. To use (for example) a French keyboard layout instead, simply change "SP,850" in the second line to "FR,850". To use a Czech keyboard, you need to use "852" instead of "850" and "CZ,852" instead of "SP,850"."

You may want to try the KEYB command with /9 switch too and see if it helps.

akcansoft commented 3 years ago

command_0001

maron2000 commented 3 years ago

FYI keyb TR,857,keybrd2.sys /9 command_000