aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Grehan <grehan@FreeBSD.org>2016-07-11 06:31:15 +0000
committerPeter Grehan <grehan@FreeBSD.org>2016-07-11 06:31:15 +0000
commit5dab2ac7af8edfff732add4bcea83e47edb553fe (patch)
tree41471ee901274254eb43b30056c1696aadcd2f1a
parentdd012a57a7c85d27264df795038b8cf46ecb1028 (diff)
downloadsrc-5dab2ac7af8edfff732add4bcea83e47edb553fe.tar.gz
src-5dab2ac7af8edfff732add4bcea83e47edb553fe.zip
Implement right shift/ctl, and convert the VNC/xorg scancode
of 0xff03 into right-alt. Reported by: lme@ MFC after: 1 week
Notes
Notes: svn path=/head/; revision=302546
-rw-r--r--usr.sbin/bhyve/ps2kbd.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/usr.sbin/bhyve/ps2kbd.c b/usr.sbin/bhyve/ps2kbd.c
index 96c71e604211..ec3bb9814c1b 100644
--- a/usr.sbin/bhyve/ps2kbd.c
+++ b/usr.sbin/bhyve/ps2kbd.c
@@ -324,7 +324,9 @@ ps2kbd_keysym_queue(struct ps2kbd_softc *sc,
fifo_put(sc, 0x12);
break;
case 0xffe2: /* Right shift */
- /* XXX */
+ if (!down)
+ fifo_put(sc, 0xf0);
+ fifo_put(sc, 0x59);
break;
case 0xffe3: /* Left control */
if (!down)
@@ -332,7 +334,10 @@ ps2kbd_keysym_queue(struct ps2kbd_softc *sc,
fifo_put(sc, 0x14);
break;
case 0xffe4: /* Right control */
- /* XXX */
+ fifo_put(sc, 0xe0);
+ if (!down)
+ fifo_put(sc, 0xf0);
+ fifo_put(sc, 0x14);
break;
case 0xffe7: /* Left meta */
/* XXX */
@@ -345,6 +350,7 @@ ps2kbd_keysym_queue(struct ps2kbd_softc *sc,
fifo_put(sc, 0xf0);
fifo_put(sc, 0x11);
break;
+ case 0xfe03: /* AltGr */
case 0xffea: /* Right alt */
fifo_put(sc, 0xe0);
if (!down)