First post, by emendelson
Probably everyone knows this already (and, if so, I apologize for wasting bandwidth), but I finally figured out that it's possible to use the Cmd key in OS X (which is presumably the same as the Win key in Windows) in the hard-coded key assignments in DOSBox (the MAPPER_AddHandler instructions, if that's the right word for it).
But I've come across a problem that I hope someone can help with.
First, in order to hardcode the OS X Cmd key (again, though I haven't tested it, presumably the same as the Win key), I added this line near the foot of mapper.h:
#define MMOD3 0x8
Then, in various files in the source code, I replaced MMOD1|MMOD2 and other MMOD1 or MMOD2 assignments with MMOD3. This seems to work in every case, except in sdlmain.cpp, where I tried this:
MAPPER_AddHandler(SwitchFullScreen,MK_return,MMOD3,"fullscr","Fullscreen");
The result was that in the compiled executable, every time I pressed Enter, DOSBox would toggle between fullscreen and windowed mode. That doesn't happen if I use MMOD1 or MMOD2. Does anyone know a way to fix this?
One possibly relevant detail: Before I figured out how to hard-code the Cmd key, I was using a keyboard mapper file that let me assign Cmd-Return, Cmd-F10, etc., by adding these lines:
hand_fullscr "key 13 mod3"
....
mod_3 "key 309" "key 310"
This worked perfectly, so I can't figure out why MK_return,MMOD3 acts like plain MK_return when hard-coded.
Thanks for any and all help with this.