-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DOS port keyboard support with WIDE=Y #290
Comments
Hi Mark - As far as I know, you can't build a wide-character DOS version anyway. DOSVGA, yes. But DOS is a solidly 8-bit character platform. I think I ran into this issue some time ago, when I heedlessly attempted a wide-character build with DOS. Unless we can figure out a way to display and read wide characters under DOS, I don't see much point in supporting WIDE=Y. |
If you don't try and use wide characters then the code works fine; as long as the short is changed to int. |
Thank you for raising this issue and the discussion. I've changed the README to explicit say "use DOSVGA for WIDE=Y" and adjusted the port specific include file to raise an error "early" when this is set. |
A nice and simple solution. I may just copy/paste Simon's solution into Coincidentally, I noticed last night that eight AppVeyor builds were full of the warnings Mark mentioned, because they were builds of the DOS port with I think this will be easy to fix. |
There are many compiler warnings when building dos/pdckbd.c with WIDE=Y. Also function keys return incorrect values when a test program is run.
The problem is that key_table[] is specified as "short" and not "int" (as is specified in dosvga/pdckbd.c).
Changing:
static short key_table[] =
to
static int key_table[]=
fixes the warnings and runtime issues.
The text was updated successfully, but these errors were encountered: