Ticket #17592 (closed defect: fixed)
Entering curly brackets does not work in Turbo Pascal -> fixed in 5.2.10
Reported by: | Turbo Pascal | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 5.2.8 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | all |
Description
I have installed the following in a virtual machine:
MS-DOS 6.22 Turbo Pascal 7.0
Keyboard layout is Finnish.
When using the Turbo Pascal IDE, it is impossible to enter curly brackets by pressing the AltGr + 7 keys. This key combination works correctly in MS-DOS Edit, but not in Turbo Pascal IDE.
Change History
comment:2 follow-up: ↓ 3 Changed 4 years ago by michaln
We'll need three things: 1) A reason to believe this is a bug in VirtualBox (and not a bug in Turbo Pascal or some kind of misconfiguration), 2) a VBox.log, and 3) a VM which demonstrates the problem, preferably in OVA format.
comment:3 in reply to: ↑ 2 Changed 4 years ago by Turbo Pascal
Replying to michaln:
We'll need three things: 1) A reason to believe this is a bug in VirtualBox (and not a bug in Turbo Pascal or some kind of misconfiguration), 2) a VBox.log, and 3) a VM which demonstrates the problem, preferably in OVA format.
I will add the required files to this ticket.
comment:4 Changed 4 years ago by michaln
If the OVA is too big to attach here (I don't know, maybe it's not!), please use some public service like Dropbox or OneDrive or similar.
comment:5 Changed 4 years ago by Turbo Pascal
I zipped the VirtualBox hard drive with Turbo Pascal installed. To test Turbo Pascal, you can start the virtual machine and type "turbo".
https://www.dropbox.com/s/cepnqpc4bjbk1fy/MS-DOS%20with%20Turbo%20Pascal%20installed.zip?dl=0
Finnish keyboard layout is currently in use and it works in MS-DOS editor without problems. Also on other virtual machines, like VMWare I have not problem with AltGr with the exact same installation.
comment:6 Changed 4 years ago by michaln
- priority changed from major to minor
- Host type changed from other to all
Thanks, now I can see what's happening.
The problem is obvious, it's Borland's fishy keyboard interrupt handler which makes the extremely questionable assumption that the incoming keyboard scan code can be read twice before a new scan code arrives. That's why everything works fine except in programs using the Borland Pascal run-time (including the IDE itself).
What happens is that Borland's funny interrupt handler steals the extended key prefix (E0h), and the normal keyboard handler only sees Left Alt key presses. Software would similarly be unable to distinguish between left and right Ctrl key and other extended keys.
We may be able to work around this by introducing a small delay for data arriving from the keyboard.
comment:7 Changed 4 years ago by michaln
Problem should be fixed in the latest 5.2 test build, please try it out and report the results. By default the keyboard input is now slightly slowed down so that Turbo Pascal and similar software can work.
comment:8 Changed 4 years ago by michael
- Status changed from new to closed
- Resolution set to fixed
- Summary changed from Entering curly brackets does not work in Turbo Pascal to Entering curly brackets does not work in Turbo Pascal -> fixed in 5.2.10
comment:9 Changed 4 years ago by Foxdoismil
I believe that you just created a very bad colateral effect VirtualBox 5.2.10 I created a new ticket regarding https://www.virtualbox.org/ticket/17709 I would appreciate that to be checked and the possibility of reverting this bug fix while you search for a better implementation.
Meanwhile I am reverting (and freezing) all the VirtualBox hosts I manage to version 5.2.8
comment:10 Changed 4 years ago by Foxdoismil
- Status changed from closed to reopened
- Resolution fixed deleted
comment:11 Changed 4 years ago by michaln
- Status changed from reopened to closed
- Resolution set to fixed
This ticket is about Turbo Pascal. The other ticket is about something else, which may or may not be related. Unless someone can show that the Turbo Pascal problem is not fixed, this ticket stays closed and the other ticket will be used for tracking the other problem.
comment:12 Changed 4 years ago by MrData
- Status changed from closed to reopened
- Resolution fixed deleted
Hello, i'm using Turbo C++ from borland and i have this issue, any altGR press will not work inside de IDE using MS-DOS Virtual machine.
And i'm using VirtualBox 5.2.12,
S side note, just uninstalled 5.2.12 and installed newer 5.2.18, and still have the issue, can't type curly braces inside VC++ 3.0 running on MS-DOS6.22 inside virtualbox. Since Borlan C++ and Turbo Pascal use the same IDE, solving for one, solves both issues, any insights on what to do?
Ok, new developments, been testing around with VirtualBox settings, and the default key to get back to the host machine is RightAlt, changed that in the keyboard option to be the windowws key and that solved the issue.
I can now use AltGR key as supposed to so it's not a bugg, and you may close this thread.
Thanks
comment:13 Changed 4 years ago by michael
- Status changed from reopened to closed
- Resolution set to fixed
Thanks for the update, closing again.
To be more precise, pressing AltGr and some other key that requires AltGr, does not work in Turbo Pascal IDE, so it is not just related to curly brackets.