diff options
author | grehan <grehan@FreeBSD.org> | 2016-09-12 00:03:14 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2016-09-12 00:03:14 +0000 |
commit | 1c4c8f3049fcb318d2a5a3f0e5a04ecf55deadb0 (patch) | |
tree | 71e1a2e3362ffd359f73da11fc990c9b813b886a /usr.sbin | |
parent | 19f852d9cd55e46fbbca452566cfb8f19e08addc (diff) | |
download | FreeBSD-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.c | 10 |
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) |