VOGONS

Common searches


First post, by Schuppe

User metadata
Rank Newbie
Rank
Newbie

However, why it is not Fixed?

In All Headless SDL Sessions Scancodes=true not Working, its no problem, but its not Possible to use "Umlauts" and other Special chars on scancodes=false.

In Headless Modes Linux dont add 8 to scancodes.

What is the Workaround?

The Problem is:
#if !defined (WIN32) && !defined (MACOSX) && !defined(OS2) && !defined (HEADLESS)
/* Linux adds 8 to all scancodes */
else key-=8;
#endif

Howto reproduce?
Install any minimal Linux OS Image, install dosbox and type anything with "scancodes=true" most enabled in Basic Configuration.

Last edited by Schuppe on 2020-01-05, 21:18. Edited 1 time in total.

Reply 1 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

what is HEADLESS ? (hint, that might be why isn't fixed)
What defines that ?
(is it something SDL does ? or your OS ?)

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 8, by Schuppe

User metadata
Rank Newbie
Rank
Newbie

Headless means non Graphical Enviroment without Desktop, only Console uses SDL/FBcon automatically.

How to reproduce:
Install any minimal Linux OS Image without Desktop (Fedora,Debian)
install dosbox and type anything with "scancodes=true" most enabled in Basic Configuration. (For my Site keyboardlayout=de129)

Now as example Type "L" and see "A" was drawn in Dosbox.

Reply 4 of 8, by Schuppe

User metadata
Rank Newbie
Rank
Newbie

Ah sorry i have copied the wrong file (own Workaround in Progress), i comment out this Lines for my Headless use.

SVN sdl_mapper.cpp:
#if !defined (WIN32) && !defined (MACOSX) && !defined(OS2)
/* Linux adds 8 to all scancodes */
else key-=8;
#endif

Reply 7 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

you mean the environment one ? I don't think that one is set by default. The user can set it to override things.

Water flows down the stream
How to ask questions the smart way!

Reply 8 of 8, by Schuppe

User metadata
Rank Newbie
Rank
Newbie

Oh. Find another one. Not tested with svga and directfb.. XVFB same problem.

static char driver[16] = { 0 };
SDL_VideoDriverName(driver, sizeof(driver));
if (::strcmp(driver, "x11") != 0)

EDIT: i have read Informations, its a X11 Problem.. Wayland not adds 8 on Scancodes.