diff mbox

ps2kbd: default to scancode_set 2, as with KBD_CMD_RESET

Message ID 1458714100-28885-1-git-send-email-hpoussin@reactos.org
State New
Headers show

Commit Message

Hervé Poussineau March 23, 2016, 6:21 a.m. UTC
This line has been added in commit ef74679a810fe6858f625b9d52b68cc3fc61eb3d with
other initializations. However, scancode set 0 doesn't exist (only 1, 2, 3).
This works well as long as operating system is resetting keyboard, or overwriting
the current scancode set with the one it wants.

This fixes IBM 40p firmware, which doesn't bother sending KBD_CMD_RESET or KBD_CMD_SCANCODE.

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
---
 hw/input/ps2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Eduardo Habkost April 4, 2016, 6:50 p.m. UTC | #1
On Wed, Mar 23, 2016 at 07:21:40AM +0100, Hervé Poussineau wrote:
> This line has been added in commit ef74679a810fe6858f625b9d52b68cc3fc61eb3d with
> other initializations. However, scancode set 0 doesn't exist (only 1, 2, 3).
> This works well as long as operating system is resetting keyboard, or overwriting
> the current scancode set with the one it wants.
> 
> This fixes IBM 40p firmware, which doesn't bother sending KBD_CMD_RESET or KBD_CMD_SCANCODE.
> 
> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>

Matches reset behavior documented at
http://www.computer-engineering.org/ps2keyboard/ (the best source
I could find for the PS/2 specs).

Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>

Michael, do you want to merge this through the PC tree?

> ---
>  hw/input/ps2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/input/ps2.c b/hw/input/ps2.c
> index 58892d5..a8aa36f 100644
> --- a/hw/input/ps2.c
> +++ b/hw/input/ps2.c
> @@ -628,7 +628,7 @@ static void ps2_kbd_reset(void *opaque)
>      ps2_common_reset(&s->common);
>      s->scan_enabled = 0;
>      s->translate = 0;
> -    s->scancode_set = 0;
> +    s->scancode_set = 2;
>  }
>  
>  static void ps2_mouse_reset(void *opaque)
> -- 
> 2.1.4
>
diff mbox

Patch

diff --git a/hw/input/ps2.c b/hw/input/ps2.c
index 58892d5..a8aa36f 100644
--- a/hw/input/ps2.c
+++ b/hw/input/ps2.c
@@ -628,7 +628,7 @@  static void ps2_kbd_reset(void *opaque)
     ps2_common_reset(&s->common);
     s->scan_enabled = 0;
     s->translate = 0;
-    s->scancode_set = 0;
+    s->scancode_set = 2;
 }
 
 static void ps2_mouse_reset(void *opaque)