VirtualBox

Opened 6 years ago

Closed 5 years ago

#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 (13)

comment:1 by Turbo Pascal, 6 years ago

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.

comment:2 by michaln, 6 years ago

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.

in reply to:  2 comment:3 by Turbo Pascal, 6 years ago

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 by michaln, 6 years ago

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 by Turbo Pascal, 6 years ago

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 by michaln, 6 years ago

Host type: otherall
priority: majorminor

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 by michaln, 6 years ago

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 by Michael Thayer, 6 years ago

Resolution: fixed
Status: newclosed
Summary: Entering curly brackets does not work in Turbo PascalEntering curly brackets does not work in Turbo Pascal -> fixed in 5.2.10

comment:9 by Foxdoismil, 6 years ago

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 by Foxdoismil, 6 years ago

Resolution: fixed
Status: closedreopened

comment:11 by michaln, 6 years ago

Resolution: fixed
Status: reopenedclosed

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 by MrData, 5 years ago

Resolution: fixed
Status: closedreopened

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 et 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

Version 4, edited 5 years ago by MrData (previous) (next) (diff)

comment:13 by Michael Thayer, 5 years ago

Resolution: fixed
Status: reopenedclosed

Thanks for the update, closing again.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use