[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#395257: This bug was reproducible with the NEWT frontend too



Attilio Fiandrotti wrote:
Frans Pop wrote:

On Thursday 02 November 2006 07:10, Christian Perrier wrote:

Why do you expect that changing the language will change the keyboard
layout?



Heh, stupid of me. I missed that when reading these earlier :-P
Of course, you have to go back to keyboard selection to change the keyboard. And I've often enough seen that this works for the newt frontend (and just verified that it still does).

It also works for g-i, but _only_ for VT2, not for VT5!
The first selection works on VT5, subsequent selections in kbd-chooser do nothing.


Ok, now i got it too (i tought changing language would have changed keymap too).

Yesterday i went further, and associating the call

dfb_input_device_reload_keymap( dfb_input_device_at( DIDID_KEYBOARD ) );

to the Insert key in the df_input application.
I could verify the keymap reloading worked correctly at DirectFB level when i issued, in sequence, various "loadkeys it" and "loadkeys us" from a different VT.

Then, i took a simple GTK app with a text widget where to input text and a button to force keymap reloading, and still i could switch from us to it and back to us again issuing "loadkeys .." from another VT and then forcing keymap reloading.

I wonder how keymap switching is implemented in the d-i : isn't "loadkeys xxx" called every time the user wants to change keymap, like on a regular debian system ?

I did more testing, and i made sure switching multiple times between it ans us keymaps on a regular debian system always produces a keymapping where *all* the keys produced the expected symbols in a generic GTKDFB application. Then, i booted again today's netinst ISO selecting it keymap and i checked if any key was wrongly mapped: i found that *all* keys were correctly mapped to it. I then switched to us keymap and, as expected, the keymap was not updated in g-i, as reported in this BR, and *all* keys were still mapped to it keymap, while on VT2 the keymap was correctly us. I was supecting the problem was in tools provided bu the kbd-config package, so i tgz'ed loadkeys and libs it depends by from my debian system and pulled them in the d-i, but still loadkeys could set to us only VT2, while nothing changed in the g-i. To have the g-i switch back to us i had to kill the cdebconf process(es), only then i got us in g-i as expected.
Nothing changes in linux_module is disabled.

So, it seems that

> dfb_input_device_reload_keymap( dfb_input_device_at( DIDID_KEYBOARD ) );

works correctly >1 times only on a regular system, not in the d-i where it wors only once, and it's not because of kbd-config package replacing loadkeys, libconsole etc.. I'll look at its implementation, btw if someone should have a clue about this..

attilio

Attilio



Reply to: