efi_loader: console incorrectly advertised left logo key
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 16 Jun 2019 20:33:20 +0000 (22:33 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Thu, 20 Jun 2019 22:26:18 +0000 (22:26 +0000)
Avoid to signal that the left logo key is pressed, when it is not.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_console.c

index a04cbf6..6c8229d 100644 (file)
@@ -481,10 +481,8 @@ void set_shift_mask(int mod, struct efi_key_state *key_state)
                        key_state->key_shift_state |= EFI_LEFT_ALT_PRESSED;
                if (mod & 4)
                        key_state->key_shift_state |= EFI_LEFT_CONTROL_PRESSED;
-               if (mod & 8)
+               if (!mod || (mod & 8))
                        key_state->key_shift_state |= EFI_LEFT_LOGO_PRESSED;
-       } else {
-               key_state->key_shift_state |= EFI_LEFT_LOGO_PRESSED;
        }
 }