Subject: bug#43830: keyboard layout handling incompatible with rest of the OS

From: Juri Linkov <[email-masked]>
Date: Sun, 01 Nov 2020 20:27:41 +0200

>> What is worse is that in a writable buffer, typing 'й' should insert
>> this character untranslated, but in the same buffer when it's in
>> read-only view mode, typing the same 'й' should translate it to 'q'
>> and quit the buffer with the View-quit command.  When using reverse-im
>> with local-function-key-map, the Help buffer says:
>> 
>>   q (translated from й) runs the command View-quit.
>> 
>> So the question is whether it's possible to do the same using
>> XkbTranslateKeyCode?  The local-function-key-map is smart enough
>> to not translate self-inserting keys.  Can code for XkbTranslateKeyCode
>> use the same condition to detect self-inserting keys?
>
> Why do you want XkbTranslateKeyCode to do this? why not the code in
> keyboard.c that reads the event queue and invokes commands?  If we
> make both the key and the character available to keyboard.c, it should
> be able to figure out what is TRT in each situation, I think.

Actually by the phrase "code for XkbTranslateKeyCode" I meant the code
in keyboard.c that could use XkbTranslateKeyCode to do the key translation
between physical keys and characters.