Opened 16 years ago

Closed 16 years ago

Last modified 17 months ago

#1269 closed defect

ALL: Ctrl-Alt +/- oddity

Reported by: eriktorbjorn Owned by:
Priority: normal Component: Port: Win32
Keywords: Cc:
Game:

Description

This is strange, and quite possibly not a ScummVM bug at all.

I'm running ScummVM on an English (American?) Windows XP but with a Swedish keyboard.

If I use the precompiled Windows snapshots, I can't use Ctrl-Alt +/- to change scalers. Ctrl-Alt - doesn't do anything, and Ctrl-Alt + decreases the scale factor. The same thing happens if I compile ScummVM myself (with MinGW), and use the pre-compiled SDL libraries.

However, if I use SDL libraries I've compiled myself it works.

I tried inserting some debug messages, and noticed that ev.key.keysym.sym seemed to behave as if I was using an US keyboard. I don't remember exactly how the US keyboard is laid out, but that's still the impression I got.

The only difference I can think of - and that's probably a big difference! - between the precompiled SDL libraries and the ones I compiled myself is that since I don't have the DirectX header files mine use the "DIB" driver, whatever that means.

So maybe it's an SDL bug...

Ticket imported from: #821179. Ticket imported from: bugs/1269.

Change History (16)

comment:1 by SF/logicdeluxe, 16 years ago

I noticed some similar things, too: With my German Win98se and my German keyboard, I have to press the keys which would be +/- on an US keyboard which differs from the German layout. My system is set to use the German layout with ScummVM as the tray confirms this, when ScummVM runs in windowed mode. This works perfectly with the Linux version and the German layout under KDE. So it seems to be a Windows specific bug, but I'm not perfectly sure about this. There still could be another SDL version which produces the same bug with Linux.

comment:2 by fingolfin, 16 years ago

This is a problem with SDL+Keymapping on Windows, I think, nothing ScummVM specific.

And yeah, we sure could add support for the numpad keys, no problem, is trivial enough to code. But AFAIK this conflicts with standard shortcuts in X-Window, so one might want to disable it on (non-OSX) Unices [i.e. #if defined(UNIX) && !defined(MACOSX)]

comment:3 by fingolfin, 16 years ago

Owner: set to fingolfin
Summary: Ctrl-Alt +/- oddityALL: Ctrl-Alt +/- oddity

comment:4 by fingolfin, 16 years ago

Anyway, regarding the windows keymapping issue, I can't comment much else besides what I said (namely that AFAIK, there is a known issue with this in SDL, so it's a SDL problem, not a ScummVM one). Maybe Kirben or any other Windows developer knows more.

comment:5 by fingolfin, 16 years ago

Owner: changed from fingolfin to Kirben

comment:6 by SF/khalek, 16 years ago

Why is this set of keybindings needed anyway? Given it conflicts with the standard X shortcuts, it would seem to only cause more confusion than good. What next ctrl alt del on non windows systems to pause the game? :P

comment:7 by eriktorbjorn, 16 years ago

Is there a "portable" set of keys that could be used instead, or as an alternative? Ctrl-Alt up/down arrow?

comment:8 by fingolfin, 16 years ago

khalek, I feel your remark is needless flamebait :-). You had plenty of chance to say something against those keybindings. Now you are doing it "behind the back". That seems really lame to me.

We may have to choose different keybindings for different target systems. Ctrl-Alt-+/- is *logical*. That's why we took it. "Ctrl-Alt-Del" isn't logical for pause, which is why we don't use it. The fact that the X- Window developers apparently thought so, too ( I am told it's used to switch between resolutions there) supports my claim. You could have told me about the conflict in a friendly, normal manner, no? I don't expect you to know what Cmd-Tab does on Mac OS X either...

Ctrl-Alt-Arrow-up/down would be logical, too. But it certainly will cause problems somewhere, too. Like my iBook didn't have true arrow keys, I had to use that "Fn" key to remap some other keys to act as a keypad. Really awkward to use that as a hotkey. So it's not much better, IMO.

Some keybindings depend stronly on "cultural background". Alt-X may make perfect sense as a hotkey for "exit" on Windows and Linux, but makes none at all on OS X - here you use "Cmd-Q" for "quit".

No keybinding will ever be fully portable as long as it uses any modifier keys, I am afraid.

comment:9 by SF/logicdeluxe, 16 years ago

Couldn't you just switch through the resolutions by hitting the same scaler hot-key several times? For example you see the 2x-scaler and hit CTRL+ALT+3 to switch to advmame2x and hitting CTRL+ALT+3 again then would switch to advmame3x. That way you could avoid having any additional hot-keys. However this better shouldn't be done before ScummVM has a safe check if the resolution it wants to switch actually is available on the current system. And for alternate key bindings: does CTRL + ALT + page up/down conflict with any system?

comment:10 by fingolfin, 16 years ago

Page up/down have the same problems as arrow up/down

comment:11 by fingolfin, 16 years ago

So, did anybody want to do something about this issue (e.g. by suggesting alternate key combos) ? Or can we close it?

comment:12 by Kirben, 16 years ago

Owner: Kirben removed

comment:13 by eriktorbjorn, 16 years ago

I don't have any good ideas, unfortunately. (I was going to suggest PageUp / PageDown without any modifier keys, but that conflicts with the GUI.)

But it's annoying that this problem hits Windows, which is - I'm told - one of the more widely-used operating systems, even for ScummVM.

comment:14 by fingolfin, 16 years ago

Still waiting by suggestions from windows users......

comment:15 by fingolfin, 16 years ago

Status: newclosed

comment:16 by digitall, 17 months ago

Component: --Unset--Port: Win32
Note: See TracTickets for help on using tickets.