VOGONS

Common searches


First post, by luser

User metadata

Hi

I am having some trouble setting up dosbox in a way that all keys are working.

Out of the box all the letter keys that are on the english keyboard too are working correctly, meaning "y" and "z" are not swapped.
The other keys like "ä" "ö" are not working at all, the numbers are working like on english keyboard so shift+7 produces "&" and not "/" like it should on german layout.
So to make a long story short I can not type "/" ":" "~" like said in the wiki here.

Then I tried the german language pack from the download section with the freedos keyb.com.
Now the numers are working so I have "/" and other keys are working too so I have ":" too. But now y and z are exchanged and I still have no way to make a "\" or "~", but still some improvement.

I remember that I once downloaded an older dosbox version from the forums that was somehow hacked to have german keyboard out of the box, that worked perfectly as far as keyboard is concerned. Is there some patch availible that does the same for newer versions? I have no problem building my own version if that will help.

So can anyone help me?

On a side note when typing "dosbox -version" with the cvs version is it suposed to display "0.63"? Well maybe the cvs ebuild is just pointing to the wrong cvs branch, but just thought I should ask.

More info about my system than you might want:

Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r5 i686) =============== […]
Show full quote

Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r5 i686)
=================================================================
System uname: 2.6.11-gentoo-r5 i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.4.16
Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 29 2005, 12:38:53)]
ccache version 2.3 [enabled]
dev-lang/python: 2.3.5
sys-apps/sandbox: [Not Present]
sys-devel/autoconf: 2.59-r6, 2.13
sys-devel/automake: 1.6.3, 1.9.5, 1.5, 1.8.5-r3, 1.4_p6, 1.7.9-r1
sys-devel/binutils: 2.15.92.0.2-r7
sys-devel/libtool: 1.5.16
virtual/os-headers: 2.4.19-r1, 2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X aalib alsa apm avi bitmap-fonts cdr crypt curl doc encode fam flac gif gnome gpm gtk gtk2 guile imagemagick imlib ipv6 java jpeg junit kde libg++ libwww mad motif moznocompose moznoirc mozplaintext mozsvg mozxmlterm mp3 mpeg mplayer mysql ncurses nls ogg oggvorbis opengl pam pdflib png python qt quicktime readline real ruby sdl speex spell ssl svg svga tcltk tcpd tetex tga theora tidy tiff truetype truetype-fonts type1-fontsunicode usb userlocales vorbis xchatdccserver xine xml xml2 xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY

Reply 1 of 19, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

If you have a qwertz-layout _before_ loading keyb.com, you don't have an original version. Most likely, someone made some mapper changes for you (or you did that yourself). To correct y and z (they should be swapped before loading keyb), press Ctrl-F1 in dosbox and use the mapper to swap y and z back to their original places. Alternatively, find your mapper.txt file and delete it to get default settings.

Reply 2 of 19, by luser

User metadata
`Moe` wrote:

If you have a qwertz-layout _before_ loading keyb.com, you don't have an original version.

I am very sure that I have an original version, ok I compiled it myself but the source is definetly from the SF cvs server.
That I have qwertz layout before keyb.com is propably a linux thing, anyway swapped y and z is not realy the problem I know that I can remap them. The keys that do not work at all are the real problem.

Reply 4 of 19, by ilheO

User metadata

there once was a version which really didn't work with a german keyboard (.58 iirc), but nowadays it's just the regular setting for an english keyboard, just the same as when you use a bootdisk without keyb gr on an old computer
i'm used to this setting from the old times - so if you try the keys like said in the wiki you can use them even without loading another driver...here they are:
shift + ö = :
# = \
- = /
ß = -
shift + ß = _
shift + 8 = *
shift + ^ = ~
shift + - = ?

i think those are the most important ones 😉
the only thing which is more or less impossible (except for alt+<keypad>) is to get the special german characters (which are rarely used anyway)

Reply 5 of 19, by gundelgauk

User metadata

I am having the same problem as the original poster (Dosbox v.63).

ilheO, you get the problem the wrong way. Normally : is on shift+Ö, but for us all the ö, ä, ü, etc.-keys do not work at all. Z and y are as they should be on a german setup, but shift+7 returns a & instead of /.

Something must be really messed up. I have triple-checked the localization settings on my linux box and nothing seems out of the ordinary. In fact I have no problems in any application but Dosbox.

Also I have been using Dosbox for some time and in the past it worked just fine. I had a US-layout but that didn't matter to me. But now I have a mixed-up non-working setup and I don't know what to do.

PS: keyb doesn't work either. =(

Reply 6 of 19, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

One of my computers has this problem too. They have the same operating system (W2kSP4), same language, same dosbox.exe. But only on that one computer the keys are messed up. Must be something I've installed...

Reply 7 of 19, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> I have triple-checked the localization settings on my linux box
> and nothing seems out of the ordinary

Did you try disabling the german keyboard layout?

Dosbox uses the SDL-symkeys for keyboard input, which means
that (under linux) foreign keys like umlauts are reported
as worldkeys. So you don't get any response by pressing
those keys.

@hal: do you have that machine available? what keys does
SDL return??

wd

Reply 8 of 19, by gundelgauk

User metadata

> Did you try disabling the german keyboard layout?

Hmm, interesting thought! Thanks for the suggestion!

I will try that as soon as I get home. The problem is - even if that works - I don't care about an US-layout in dosbox as long as the keys work. But not having a German layout at all in X would be a real pain. Think about word processing, chat etc. =(

Reply 9 of 19, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

@wd:

Using this code in sdl_mapper.cpp, ...

void MAPPER_CheckEvent(SDL_Event * event) {

if (event->type==SDL_KEYDOWN || event->type==SDL_KEYUP)
{
Bitu key=(Bitu)event->key.keysym.sym;
LOG_MSG("keycode: %x",key);
}
for (CBindGroup_it it=bindgroups.begin();it!=bindgroups.end();it++) {
if ((*it)->CheckEvent(event)) return;
}
}

... I got these corresponding keycodes:

good computer:
ö = 3b
ä = 27
ü = 5b
z = 79
y = 7a

messed-up computer:
ö = 60
ä = 27
ü = 3b
z = 7a
y = 79

Other applications on that computer work just fine... 😕
SDL bug?
Dosbox version is cvs.

Reply 10 of 19, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Seems like windows does a translation of the keys before
they reach SDL, but that looks pretty odd (it's no translation
according to the keyboard layout).
Does exchanging SDL.dll produce different codes? And are
at least the scancodes the same? (key.keysym.scancode)

thanks for providing the information 😀

Reply 11 of 19, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Just tested, scancodes are identical on both comuters. I tried sdl.dll 1.2.8 and another one that is 348kb in size and has no version label. Both give the same results.

Reply 13 of 19, by hachi

User metadata

I got the same problem (Linux / Gentoo). 😠 Especially I can't get the ~ for long directory names. I tried the 'keyb gr' method, but it's no use - the keys just dont seem to reach dosbox in the first place.

Really annoying, because I can't mount or switch directories. Workaround is to go into the directory beforehand, copy the dosbox.conf in that directory, and start dosbox using 'dosbox .' which causes the directory to be mounted automatically.

Otherwise it would be unusable.

Did anyone solve this?

Reply 15 of 19, by Guest

User metadata

I have the same problem here---OSX with German keyboard.

A-X work
Y-Z are at German position
The three keys right to M have German layout (even shifted!)
1-0 have US layout
Esc, Shift, Ctrl, Alt, Tab, Return, Fx and Keypad work
All others (1 key left of 1, 2 keys right of 0, 2 right of P, 3 right of L, 1 left of Z) do nothing at all

So I started the keymapper and remapped all of the wrong and not working keys. Then I had an US layout. Next I used keyb to get a German layout. Works fine, BUT: The 102nd key (left to Z, produces <, > and |) cannot be mapped with the keymapper, so I'm still missing it.

Any idea how to add it to mapper.txt? What's its symbolic name?

Reply 17 of 19, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

A key that can produce 3 different characters (not counting control or alt sequences, which don't typically produce actual characters in most situations) is unheard of on US keyboards.

Reply 18 of 19, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

That's what the "Alt Gr" (right Alt) on German keyboards is good for, it is like another "Shift" key. When pushed and held down, some keys change their letter:
q -> @
m -> µ
e -> €
< -> |
23 -> ²³
7890ß -> {[]}\
+ -> ~

Reply 19 of 19, by Guest

User metadata

I don't understand it. Since the very first AT-keyboard there have been 101-keys and 102-keys version of it. Even the XT keyboards before had 86 and 87 key versions. But now, 20 years later, there is still plenty of new software that fails on the 102nd key. I don't understand it.

At least the right ALT key is handled properly by DOSBox. Other software (such as Microsoft's Virtual PC) fails here...