UI request: add a function key toolbar (f1-f12)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
I run old DOS programs under FreeDOS using QEMU.
It's common when running/testing DOS applications to use the function keys. Some of these (such as F10) are intercepted by the window system. For example, some DOS program installers use F10 to install the software, but F10 is intecepted by the window system.
The standard solution is to jump to the QEMU console and use sendkey to send a specific function key to the QEMU guest (often needed for 'sendkey f10'). But this does not seem to be very user friendly for new users. Nor is it very fast if you need to this often.
I propose QEMU add a toolbar with the function keys.
I've attached a mockup of one possible design, with a simple toolbar for F1-F12. A possible modification would be to add "modifier" buttons for Ctrl and Shift and Alt to make it easier for users to enter combinations like Ctrl-F12 or Alt-F10 or Shift-F1.
Changed in qemu: | |
importance: | Undecided → Wishlist |
Adding a toolbar with function keys consumes alot of screen real estate for something that is going to be rarely used in practice.
The more usual approach to this problem is for the application to grab the keyboard and block all local window system accelerators, so that Fn goes straight to the guest OS when the console window has focus. This is done by GNOME Boxes, virt-viewer, virt-manager, and I though QEMU's frontends did it by default too.
Recently though, there has been a regression in this area. With the switch to Wayland instead of Xorg, the standard GTK APIs for doing this keyboard grabbing / accel blocking no longer work correctly. Instead apps need to add custom code to talk to the Wayland compositor IIRC. There's work underway to address this but its a way off.
Some key combinations are hard to deal with, even with the above approach. For that reason virt-viewer/ virt-manager, etc typically have a "Send key" menu item, populated with a set of special sequences. Typically this covers Ctrl+Alt+fn sequences, and Ctrl+Alt+Delete and a couple more.