summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2016-09-12 00:03:14 +0000
committergrehan <grehan@FreeBSD.org>2016-09-12 00:03:14 +0000
commit1c4c8f3049fcb318d2a5a3f0e5a04ecf55deadb0 (patch)
tree71e1a2e3362ffd359f73da11fc990c9b813b886a /usr.sbin
parent19f852d9cd55e46fbbca452566cfb8f19e08addc (diff)
downloadFreeBSD-src-1c4c8f3049fcb318d2a5a3f0e5a04ecf55deadb0.zip
FreeBSD-src-1c4c8f3049fcb318d2a5a3f0e5a04ecf55deadb0.tar.gz
MFC r302546
Implement right shift/ctl, and convert the VNC/xorg scancode of 0xff03 into right-alt.
Diffstat (limited to 'usr.sbin')
-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 96c71e6..ec3bb98 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)
OpenPOWER on IntegriCloud