https://bugs.freedesktop.org/show_bug.cgi?id=50415

--- Comment #4 from Thomas Arnhold <[email protected]> 2012-05-30 09:48:11 PDT 
---
Petr, with LANG=de_DE.UTF-8 libreoffice3.6 you can't reproduce this bug. Try
this with libreoffice 3.5.3 and it will fail too. The translation of those keys
was dependent on the keyboard layout, not the locale setting. As Bjoern
mentioned in his commit:

lp#818761: removing the problematic call to GetKeyboardName() as
getKeysymReplacementName only provides the name of the key named
as given by the l10n of the _keyboard_ (not the locale) e.g. a
german keyboard would name "Ctrl" instead as "Strg". Assuming
this change to be safe as getKeysymReplacementName falls back to
English names anyway.

The replacement table was called with ::vcl_sal::getKeysymReplacementName.

On master I deleted the table:
http://cgit.freedesktop.org/libreoffice/core/commit/?id=2233aa52da14ec85331aee1163b885fe9a9fb507

The problem itself lies at SalDisplay::GetKeyboardName:

// try X keyboard extension
if( (pXkbDesc = XkbGetKeyboard( GetDisplay(), XkbAllComponentsMask,
XkbUseCoreKbd )) )
{
const char* pAtom = NULL;
if( pXkbDesc->names->groups[0] )
{
    pAtom = XGetAtomName( GetDisplay(), pXkbDesc->names->groups[0] );
    m_aKeyboardName = pAtom;
    XFree( (void*)pAtom );
}

--> The keyboard name was extracted from the current keyboard layout. So you
have to change your keyboard layout to get a translation of keys with libo
3.5.3.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to