Clear screen on top of dimension_update() to get rid of artifacts from previous resolution.
Adjust tile height at the bottom of the display if necessary.
Use this display library line to read/write ini from BXSHARE path:
display_library: x, options="gui_debug:globalini"
NOTE: Using $BXSHARE at this point doesn't work yet since the common parser code
expands the variable and Bochs finally exits with a panic (needs to be reviewed).
TODO: Add shared parser code for all guis and add this feature for SDL, SDL2 and
wxWidgets guis.
This is the start of the Experimental USB Debugger (currently for the
Windows platform only).
Currently only supports the UHCI and xHCI controllers. The remaining
function of these two controllers and the two remaining controllers are
in the works and will be added to when time allows.
The User.dbk has been updated with (temporary) html files at
https://www.fysnet.net/bochs/user/index.html showing the process to
invoke and use the USB debugger (Section 5.8).
In its completion, this debugger will allow you to view and modify most
aspects of the specified USB controller. For example, currently you can
view and modify a TRB listed in the xHCI's Command or Event Ring. Other
aspects will be added.
I do not use and am not fluent in the use of `configure`,
`configure.ac`, and associated configuration files. I also don't use the
`gui/Makefile.in` file.
Someone that is more fluent in the way these files work, please add the
necessary items to successfully compile this PR.
---------
Co-authored-by: Shwartsman <stanislav.shwartsman@intel.com>
- Added buffer for maximum 16 key events.
- PS/2 keyboard now sets the changed indicators only.
- Added support for the yellow status indicator in the win32 gui.
- The X gui behaviour should be unchanged.
- RFB / vncsrv: cursor shape fixes.
- Changed format of the font parameters to fix "double width" characters.
- Restore guest charmap after leaving gui console.
- Enter command mode with F7 key only, but no modifier pressed.
- Pressing / releasing modifier key only doesn't leave command mode.
- Changed some headerbar button access keys using modifiers (e.g. shift + c
calls config button handler). See user doc for all supported keys.
host when the mouse is captured and in fullscreen mode. This is useful if the
guest is also a Windows version. These changes are based on the rejected SF
patch "disablesystemhotkeys". But instead of disabling the hotkeys completely,
the events are sent to the Bochs keyboard.
- Only keep the comments for the specific gui methods in nogui.cc and add
references to this file in all other gui sources.
- Changed the order of methods and added some useful comments in gui.cc / gui.h.
- Minor other cleanups
- Moved helper function reverse_bitorder to the common gui code.
- In console_refresh() call flush() after text_update().
- Started preparing rfb, sdl, sdl2 and vncsrv gui for using the console.
- Some other small cleanups.
- vgacore: double font and screen width at half dot clock.
- X gui: improved font bitmap generation to support width > 9.
- win32 gui: adjust values to use existing stretching feature.
- guis rfb, sdl, sdl2, vncsrv and wx: double pixels if font width > 9.
- If the mouse is captured, use ClipCursor() to keep the cursor in the window.
- After handling mouse motion event in relative mode, move the cursor back to
the window center (similar to other guis).
- don't try to resize the simulation window if minimized (iconic)
- handle window size correction in the gui event handler and by calling
resize_main_window(FALSE), since fullscreen mode is not always required
- fixed screen flickering after entering fullscreen for the second time
- now using resize_main_window() directly for leaving fullscreen mode
- dimension_update() now only used for guest display mode change
- TODO: more testing to find cases that can make Bochs crash
- moved fullscreen mode enable/disable stuff to a new function
- now only use dimension_update() for leaving fullscreen mode
- fixed fullscreen issues in text mode
- TODO: check if guest display is too large and add a proper handling for this case
- changing from window mode to fullscreen and back now looks okay
- changing guest resolution in fullscreen mode now also works
- TODO #1: rewrite of the window / fullscreen code to avoid using dimension_update()
to toggle the internal mode
- TODO #2: add size checks in dimension_update() to avoid crash. We could panic
at this point or compress screen to desktop size.