[MPlayer-cvslog] r35961 - in trunk: Changelog input/input.c libvo/x11_common.c osdep/getch2.c o

Ingo Brückl ib at wupperonline.de
Tue Feb 11 11:07:22 CET 2014


Reimar Döffinger wrote on Sun, 9 Feb 2014 13:26:11 +0100:

> On 08.02.2014, at 18:06, Ingo Brückl <ib at wupperonline.de> wrote:

>>> Author: reimar
>>> Date: Thu Mar 14 20:59:35 2013
>>> New Revision: 35961
>>
>>> Log:
>>> Add support for binding any key in UTF-8 range.
>>
>>> X11 part is a bit hackish since we need to use
>>> setlocale to get desired behaviour for XLookupString.
>>
>>> Modified: trunk/Changelog
>>> =========================================================================
>>> +++ trunk/Changelog     Thu Mar 14 20:59:35 2013        (r35961)
>>> @@ -13,6 +13,7 @@ MPlayer
>>>       better than -vo gl (it is in many ways worse).
>>>     * Fixes for DVB, teletext and closed-caption based subtitles.
>>>     * Support teletext and CC subtitles in WTV.
>>> +    * Support binding keys corresponding to non-ASCII characters.
>>
>> +    * Support binding keys corresponding to non-Latin-1 characters.
>>
>>> Modified: trunk/libvo/x11_common.c
>>> =========================================================================
>>> +++ trunk/libvo/x11_common.c    Thu Mar 14 20:59:35 2013 (r35961)
>>> @@ -427,6 +428,9 @@ int vo_init(void)
>>>         return 1;               // already called
>>>     }
>>>
>>> +    // Required so that XLookupString returns UTF-8
>>> +    if (!setlocale(LC_CTYPE, "C.UTF-8") && !setlocale(LC_CTYPE, "en_US.utf8"))
>>> +        mp_msg(MSGT_VO, MSGL_WARN, "Could not find a UTF-8 locale, some keys will no be handled.\n");
>>
>> +        mp_msg(MSGT_VO, MSGL_WARN, "Could not find a UTF-8 locale, non-Latin-1 keys will no be handled.\n");
>>
>> Reimar, would you mind these changes? "Some keys" sounds somehow randomly
>> (and I was asking myself which of my keys might not be handled; answer:
>> none won't be handled, all keys are fine).
>>
>> According to the Xlib manual, KeySym is mapped, if possible, to an ISO
>> Latin-1 character, and the patch only takes effect beyond this range.

> I don't think so, the error was reported for the french special c
> character, so I believe that even certain Latin-1 characters are
> affected, so that changed message would be misleading.

Quite strange. Where was the error report?

Without XRebindKeysym() (and I can't spot one in MPlayer sources),
libX11's _XTranslateKeySym() transforms a Latin 1 U+0020..U+00FF symbol
into c = symbol & 0xFF and places c in buffer[0].

So I can't see why any Latin-1 character should be affected.

Ingo


More information about the MPlayer-cvslog mailing list