Opened 16 years ago

Closed 15 years ago

Last modified 5 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 Changed 16 years ago by SF/logicdeluxe

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 Changed 16 years ago by fingolfin

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 Changed 16 years ago by fingolfin

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

comment:4 Changed 16 years ago by fingolfin

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 Changed 16 years ago by fingolfin

Owner: changed from fingolfin to Kirben

comment:6 Changed 16 years ago by SF/khalek

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 Changed 16 years ago by eriktorbjorn

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

comment:8 Changed 16 years ago by fingolfin

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 Changed 16 years ago by SF/logicdeluxe

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 Changed 16 years ago by fingolfin

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

comment:11 Changed 15 years ago by fingolfin

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

comment:12 Changed 15 years ago by Kirben

Owner: Kirben deleted

comment:13 Changed 15 years ago by eriktorbjorn

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 Changed 15 years ago by fingolfin

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

comment:15 Changed 15 years ago by fingolfin

Status: newclosed

comment:16 Changed 5 months ago by digitall

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