Open joncampbell123 opened 6 years ago
what about keyboard in PC-98 mode?
@roytam1 Keyboard emulation is already there, except the commands TO the keyboard to control caps/kana state and such, at the hardware level. What's incomplete is BIOS scan code to ASCII and DOS console driver handling.
@roytam1 Since this conversation, I have expanded the BIOS and DOS CON driver support in PC-98 to include function keys, arrow keys, etc. Most of the DOSKEY-like editing functions in the IBM PC mode of the DOSBox shell now exist in PC-98 mode as well.
@joncampbell123 sounds great. But from my testing build with both vs2013/2015, it seems that keyboard mapping is still broken(only 1,q,a,arrow keys and numpad enter key are working).
dosbox.conf has 2 lines only for testing in this situation:
[dosbox]
machine=pc98
The mapper UI in the latest build offers a way to tell if any keys are triggering. Use CTRL+F1 to bring up the mapper UI. When you press keys, the key that DOSBox-X sends to the guest should light up.
In key mapper, every key works. but in PC-98 dosbox prompt, they don't work(except the keys mentioned earlier), in non-PC98 mode every key works as well.
There is a known issue with the mapper UI where entering the mapper through the keyboard shortcut leaves the CTRL and SHIFT keys "stuck" in the guest. Does tapping the CTRL and SHIFT keys help?
Second, the mapper UI allows you to change and redefine the keys. The default bindings should show bindings for all the standard keys on the keyboard.
Does tapping the CTRL and SHIFT keys help?
nope, still 3 keys of alphanumeric area working in PC98 mode, all keys are working in non-PC98 mode.
@roytam1 Recent builds of DOSBox-X removed the hack code in SDL 1.x that loads the US keyboard layout for DOSBox-X itself. See if that helps with the keyboard issue.
Tasks:
NOTES for tasks:
Many tiny nitpicks coming up next, each one too small to make an issue for them:
PC-98 BIOS keyboard handling. Update the existing code by testing against a JP layout keyboard, and then finish the code for the rest of the keys. Make sure the changelog notes that keyboard input may seem awkward from US layout keyboards, of course, in the same way that running Anex86 or Neko Project II with a US keyboard.
~New code to read the current host OS keyboard layout. This will tie in with future development to the Mapper UI in which the keyboard layout shown can be changed to reflect other layouts than just the US keyboard layout. Knowing the host OS keyboard layout as an initial state could help with this.~
Knowing the OS keyboard layout may also allow compensation, such as how to map the JP "Ro" key if the host layout is still US English: #434