VOGONS

Common searches


First post, by Sephiroth

User metadata
Rank Member
Rank
Member

How the heck do I kill that darn keymapper? I have spent two friggin' hours just trying to send CTRL+F1 into the damn game and nothing I do works. I have deleted the binding for keypad enter and bound it to F1, then pressed control and the enter key and nothing! I have tried binding both F1 and control to the keypad enter button and no go. I cannot believe how difficult it has been just to press a combination of keys? Why the HECK is the keymapper set to such a common key combination? Why not CTRL+ALT+F1 or something else that would be rare? I cannot progress through a game I am playing because I cannot use the dang keyboard!

Sorry if this seems brash but two hours just trying to send a keystroke sequence that a ton of my old games use for various things seems excessive. The keymapper is very clunky. I cannot simply select the keys I want to send into the virtual environment and bind it to a key. Instead I have to struggle to figure out how to bind things to a key that doesn't work anyway.

486 Launcher v2.0 is now under development!

Reply 1 of 5, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I am skeptical about your assertion that there are "tons" of DOS games that use Ctrl-F1; my experience is that very few of them do. Applications are another matter, but DOSBox is not intended for them.

In any case, it seems your approach is incorrect, you simply need to delete or reassign the binding on the mapper key. To delete the binding, click the event button labeled "Mapper" on the mapper screen, click "Del", then click "Save". You will probably have to restart DOSBox after this, and you might need to delete any existing mapper.txt that was previously saved if it is causing further problems.

Reply 2 of 5, by Sephiroth

User metadata
Rank Member
Rank
Member

I tried that and it did not seem to work, I just lost access to the mapper. I did just now figure it out. Almost three hours on this.

The mapper works backwards. In the rest of the world you would select the key on the virtual keyboard, delete the mapping, click add, and press the key you want to be pressed when you use said key. In DOSBox, I had to bind F1 to left control. Then when I pressed F1, left control was also pressed.

Why do I say this is backwards? Play any game since Quake and you will understand. You select the action you wish to bind (such as "shoot"). You then press the key on your keyboard you want to do this action. It binds. I have never seen a reverse-mapping like in DOSBox. This is why I struggled and had many choice words for the mapper. In my mind, I would select F1 on the virtual keyboard, add a bind of control to it, and then when I pressed F1 in the game it would do both binds. Not the case.

I also see tons of other threads like mine on the bet and every one of them has people thinking in the same mindset that I am. "I selected the key on the virtual keyboard and bound control to it but when I press that key control is not pressed!" is all over the place. Have you guys ever considered making the mappings standard instead of reverse? I mean the rest of DOSBox is pretty damn good, but the mapper is the most confusing, backwards piece of software I have ever used, and I am in the IT field! Again, not trying to offend, but this was way too difficult to grasp.

486 Launcher v2.0 is now under development!

Reply 3 of 5, by Joey_sw

User metadata
Rank Oldbie
Rank
Oldbie

i usually use this config:

[sdl]
usescancodes=false

and on keymapper file:

mod_1 "key 319" 

its change the use of mod1 assignment into the "App/Menu" key, the key which located on Left of Right-Ctrl on sane keyboard.
Therefore instead of pressing Ctrl+F1 that might be needed for games,
you will have to press Menu+F1 to access the keymapper (assuming the line key keymapper config was still: hand_mapper "key 282 mod1"),
then adjust other "hand_???" function accordingly to use mod1 instead of "Ctrl" or "Alt" binded mod#.

Yeah, i'm also not a fan of using those key to be binded with "mod#".

That should works as menu-key presses are not exposed to emulated games by dosbox design,
and the menu key are designed to be pressed with other key.

-fffuuu

Reply 4 of 5, by Sephiroth

User metadata
Rank Member
Rank
Member

Good idea, Joey. I am actually debating writing a normal keymapper for my front-end that will allow a user to select a key, then assign key-presses to it, then write that data into the mapper file. Much easier than the one built-in. Still, the menu key would be perfect and I wonder why it isn't used by default. Heck, did we even have menu keys back in the days of DOS?

486 Launcher v2.0 is now under development!

Reply 5 of 5, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I am actually debating writing a normal keymapper for my front-end that will allow a user to select a key, then assign key-presses to it, then write that data into the mapper file. Much easier than the one built-in.

That sounds like what DOSBox already does: select an *emulated* key (event) and then assign (bind) *real* keys to it. You seem to just want the process to work the other way around, and I wonder how you plan on handling the non-keyboard events (Shutdown, Capture, etc.) because there are no real keys for those operations.

Still, the menu key would be perfect and I wonder why it isn't used by default.

Not everyone using DOSBox is on a PC.