dreamer / boxtron

Steam Play compatibility tool to run DOS games using native Linux DOSBox
https://luxtorpeda.gitlab.io/
GNU General Public License v2.0
405 stars 5 forks source link

Steam virtual keyboard #24

Closed mdmallardi closed 4 years ago

mdmallardi commented 4 years ago

Hi, this tool is fantastic (on the one game I've tried with it so far), but I cannot seem to get the Steam Virtual Keyboard ('Open Keyboard' option from the overlay in BPM) to interact with my DOS game properly.

i.e, I am playing Master of Orion II. All controller options seem to work wonderfully, but when I wish to choose a new emporer name, or change the name of a star system upon initial colonization, when the text input window in game is open, if I try and type anything with the steam virtual keyboard, it does not seem to get passed through to dosbox?

I am using Ubuntu, but not the standard dosbox 0.74 package, but an SVN/patched dosbox package from the PPA at https://code.launchpad.net/~i30817/+archive/ubuntu/dosbox-patched

Thanks for this wonderful compatibility tool. The ability to properly utilize the controller and overlay has been wonderful so far!

dreamer commented 4 years ago

At the moment I don't have physical access to my controllers, but in few days I will look into this. I own Master of Orion 2 on GOG, so hopefully will be able to reproduce the bug.

Somehow I have a hunch that it might be SDL1.2 related - can you try installing DOSBox-X and see if the problem is still present? Here are instructions on how to configure boxtron to use it instead of system-installed dosbox: wiki link.

mdmallardi commented 4 years ago

Unfortunately, dosbox-x did not seem to resolve the issue.

dreamer commented 4 years ago

Hmm, I tested with several games using Steam Controller and virtual keyboard was generally working for me… except for somewhat wonky input in Worms (but the keyboard definitely worked).

The only game where virtual keyboard did not work at all was X-COM… until I noticed that I had Steam Overlay disabled. What controller do you use? (I have several, maybe it's somehow hardware-related).

mdmallardi commented 4 years ago

I have a Sony dualshock4. Ialso tried with the latest boxtron commit with no improvement. Also, specifically I have the steam release of matter of Orion 2.

dreamer commented 4 years ago

It's really curious…

I am using DS4 (over USB - I haven't used it in long time, will repeat the test using Bluetooth later); I added GOG version of Master of Orion 2 to my Steam library, started the game using Boxtron from within Steam Big Picture. Using virtual keyboard I was able to change my Leader's name and Home planet name (never played MoO2 before, but those are input fields you are having problem with?).

Some questions:

Can you try testing with standard DOSBox package as well? (I am using Fedora's default Dosbox 0.74-3)

[edit] Also, I am using Steam Beta - there were some virtual keyboard-related fixes mentioned in release notes recently.

[edit2] Tested using Bluetooth - same result.

mdmallardi commented 4 years ago

I do have configuration support for the PlayStation controllers enabled, and have tested primarily with the Keyboard (WASD) and mouse preset, as Master of Orion 2 has no native gamepad support. I've attempted to use ubuntu's default dosbox package, with no improvement on this.

I don't think I am using steam beta. I will attempt to do so later today.

dreamer commented 4 years ago

@mdmallardi can you re-test using Boxtron release 0.5.2 using dosbox-staging? This build fixes several input-related issues on my systems by using SDL2 - hopefully it will affect also your issue. Instructions are listed here: https://github.com/dreamer/boxtron/releases/tag/v0.5.2

mdmallardi commented 4 years ago

Sadly no change using dosbox-staging and v0.5.2 (Or latest git commit for boxtron either) I've also tested both on steam stable and steam beta. Also, for the record, dosbox-staging, when I run configure still seems to be using SDL1.2, was this ever ported up to SDL2?

On steam beta with dosbox-staging, It seems to see about four keystrokes on the virtual keyboard very much lagged from when I try the input, then the virtual keyboard stops responding

dreamer commented 4 years ago

@mdmallardi dosbox-staging master branch is in "sync" with upstream SVN trunk, therefore it does not support SDL2 at all - configure on that branch indeed will look for SDL1.2. (You can read more about this repo here: https://www.vogons.org/viewtopic.php?f=32&t=69497).

dosbox-staging test build used for Boxtron (specifically this package) was build from branch po/boxtron-test-1 for Steam Runtime evironment and supports SDL2 only. I hope this one will solve your keyboard problem (it did resolve several input-related issues for me).

I can save you some time ;) and tell you, that local build from that branch is not going to work from within Steam due to SDL2 libraries bundled in Steam Runtime (it should work fine outside of Steam though). If you want to reproduce that build I uploaded with the 0.5.2 release note, then here's link to Luxtorpeda package repo: https://gitlab.com/luxtorpeda/packages/dosbox-staging (you want to run run-build.sh script in there - Docker should automatically download the proper image for Steam Runtime development and build the package).

mdmallardi commented 4 years ago

Your dosbox-staging package works! I am able to utilize the steam virtual keyboard in MoO2 now. Now, off to test some other games. ;-)

dreamer commented 4 years ago

@mdmallardi Hurray! :) Thank you for testing. It makes me more convinced, that future Boxtron versions should automatically download and use dosbox-staging.