Keyboard_layout was not found

Jens Luchs ls.js at gmx.de
Fri Jul 25 14:43:55 CDT 2003


hi

My workstation: win98, SuSE 8.2, wine-20030618

My (german) keyboard is accept
with win98 : as 101/102 key or Microsoft layout,
with SuSE   : as PC105 nodeadkeys,
with wine   :  look here

- - -snip -

fixme:keyboard:X11DRV_KEYBOARD_DetectLayout
Your keyboard layout was not found! Using closest match
instead (German keyboard layout without dead keys) for
scancode mapping. Please define your layout in
dlls/x11drv/keyboard.c and submit them to us for inclusion
into future Wine releases. See the Wine User Guide, chapter
"Keyboard" for more information.

- - snip -

All three layouts works, no problems. OK

In this case, I opened ./dlls/x11drv/keyboard.c looking for
german keyboards like  my keyboard. But I didn't found any.
So I wrote a new entry like the following for myself:

- - snip -
/*** German PC nodeadkeys keyboard layout (contributed by jl) */
static const WORD main_key_scan_DE_PC_nodeadkeys_qwerty[MAIN_LEN][4] =
/* ^    1    2    3    4    5    6    7    8    9    0    ß    ?   */
{  0x5e,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0xdf,0xb4,
/* q    w    e    r    t    z    u    i    o    p    ü    +   */
     0x71,0x77,0x65,0x72,0x74,0x7a,0x75,0x69,0x6f,0x70,0xfc,0x2b,
   /* a    s    d    f    g    h    j    k    l    ö    ä    #    */
     0x61,0x73,0x64,0x66,0x67,0x68,0x6a,0x6b,0x6c,0xf6,0xe4,0x23,
   /*  y   x    c    v    b    n    m    ,    .    -     */
     0x79,0x78,0x63,0x76,0x62,0x6e,0x6d,0x2c,0x2e,0x2d,
   /* <  */
     0x3c /* the 102nd key (actually to the right of l-shift) */
};

/*** German PC nodeadkeys keyboard layout (contributed by jl) */
static const char main_key_DE_PC_nodeadkeys[MAIN_LEN][4] =
{

"^°","1!","2\"²","3§³","4$","5%","6&","7/{","8([","9)]","0=}","ß?\\","'`",
    "qQ@","wW","eE€","rR","tT","zZ","uU","iI","oO","pP","üÜ","+*~",
    "aA","sS","dD","fF","gG","hH","jJ","kK","lL","öÖ","äÄ","#'",
    "yY","xX","cC","vV","bB","nN","mMµ",",;",".:","-_",
    "<>|"  /* the 102nd key (actually to the right of l-shift) */
};

/*** German PC nodeadkeys keyboard layout (contributed by jl) */
static const char main_key_DE_PC_nodeadkeys_vnc[MAIN_LEN] [4] =
{

"^°","1!","2\"²","3§³","4$","5%","6&","7/{","8([","9)]","0=}","ß?\\","?`","+*~","#'",",;",".:","-_", 


"aA","bB","cC","dD","eE€","fF","gG","hH","iI","jJ","kK","lL","mMµ","nN","oO","pP","qQ","rR","sS","tT","uU","vV","wW","xX","yY","zZ","äÄ","öÖ","üÜ",
"<>|"  /* the 102nd key (actually to the right of l-shift) */
};

/*** German PC nodeadkeys keyboard layout (contributed by jl) */
static const WORD main_key_scan_DE_PC_nodeadkeys_vnc[MAIN_LEN][4] =
{
0xb4,0xdf,0xe4,0xfc,0xf6,0x2b,0x2c,0x2d,0x2e,0x5e,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x7a,0x23,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,
    0x3c  /* the 102nd key (actually to the right of l-shift) */
};

/*** Layout table. Add your keyboard mappings to this list */
[ . . .]
   {"German PC nodeadkeys keyboard layout", 28605, &main_key_DE, \\
&main_key_scan_qwerty, &main_key_vkey_qwerty},
- - snip -

All entrys are inspected with my Xmodmap and the utility "xev"
and I recompiled it. But wine didn't take it over.

I saw also, the german layout is a "qwertz". But wine only used "qwerty"
There are no layouts with qwertz. Is it a Bug ?

If wine only works with keyboard-statements  from Windows and no
statements from Linux, if they distinguish, that shoud be told.

On the other hand windows only has a keyboard - hid - layout and no
driver for other keyboards, user must have it themself.

What I am doing wrong
Thank you for helping.

greetings
Jens









More information about the wine-users mailing list