Hi Vladimir,
Thanks for the hint, this was obvious now.
Please find attached the new patch which definitely fixes the issue.
It has been tested on various hardware (see git commit details).
In a nutshell the solution is to stick to set 1 if controller is in
Translate mode, and use set X otherwise, X being the queried mode.
Additionally, in controller_fini, nothing has to be restored, since
nothing was changed. This fixes an issue when switching between
at_keyboard, console, and at_keyboard again, in case queried set is
not the actual used set.
Renaud.
On 12/11/20 3:08 PM, Vladimir 'phcoder' Serbinenko wrote:
On Fri, Dec 4, 2020 at 5:53 AM Renaud Métrich <rmetrich@redhat.com>
wrote:
Hi,
Testing the proposed patch on my old Asus N53SN in Legacy failed: as
soon as at_keyboard is selected, the keys are corrupted and it's
impossible to do anything.
Digging into this, it appears that query_mode() returns 2 (so set2
needs to be used), but in fact internally the keycode are the ones
expected by set1.
This is because the patch doesn't take into account that controller is
in "translate" mode.
@Javier Martinez Canillas : Can you make your patch check whether
KEYBOARD_AT_TRANSLATE is set ?
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel