aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/kbd
diff options
context:
space:
mode:
authorStefan Eßer <se@FreeBSD.org>2023-02-14 13:03:28 +0000
committerStefan Eßer <se@FreeBSD.org>2023-02-14 13:03:28 +0000
commitf20058955c9d1041a5a09cd02a27babda7e34dc8 (patch)
treef5baabe301fedcfe2fae96c535440d12ab70392f /sys/dev/kbd
parentc2bb66023fe3e3617f56302b6960f59545a5535c (diff)
Diffstat (limited to 'sys/dev/kbd')
-rw-r--r--sys/dev/kbd/kbd.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/sys/dev/kbd/kbd.c b/sys/dev/kbd/kbd.c
index 41d6fd5666d8..205d76639e0f 100644
--- a/sys/dev/kbd/kbd.c
+++ b/sys/dev/kbd/kbd.c
@@ -789,13 +789,16 @@ int
genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
{
keymap_t *mapp;
- okeymap_t *omapp;
accentmap_t *accentmapp;
- oaccentmap_t *oaccentmapp;
keyarg_t *keyp;
fkeyarg_t *fkeyp;
- int i, j;
int error;
+ int i;
+#ifdef COMPAT_FREEBSD13
+ int j;
+ okeymap_t *omapp;
+ oaccentmap_t *oaccentmapp;
+#endif /* COMPAT_FREEBSD13 */
GIANT_REQUIRED;
switch (cmd) {
@@ -824,6 +827,7 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
error = copyout(kbd->kb_keymap, *(void **)arg,
sizeof(keymap_t));
return (error);
+#ifdef COMPAT_FREEBSD13
case OGIO_KEYMAP: /* get keyboard translation table (compat) */
mapp = kbd->kb_keymap;
omapp = (okeymap_t *)arg;
@@ -836,10 +840,14 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
omapp->key[i].flgs = mapp->key[i].flgs;
}
break;
+#endif /* COMPAT_FREEBSD13 */
case PIO_KEYMAP: /* set keyboard translation table */
+#ifdef COMPAT_FREEBSD13
case OPIO_KEYMAP: /* set keyboard translation table (compat) */
+#endif /* COMPAT_FREEBSD13 */
#ifndef KBD_DISABLE_KEYMAP_LOAD
mapp = malloc(sizeof *mapp, M_TEMP, M_WAITOK);
+#ifdef COMPAT_FREEBSD13
if (cmd == OPIO_KEYMAP) {
omapp = (okeymap_t *)arg;
mapp->n_keys = omapp->n_keys;
@@ -850,7 +858,9 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
mapp->key[i].spcl = omapp->key[i].spcl;
mapp->key[i].flgs = omapp->key[i].flgs;
}
- } else {
+ } else
+#endif /* COMPAT_FREEBSD13 */
+ {
error = copyin(*(void **)arg, mapp, sizeof *mapp);
if (error != 0) {
free(mapp, M_TEMP);
@@ -904,6 +914,7 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
sizeof(accentmap_t));
return (error);
break;
+#ifdef COMPAT_FREEBSD13
case OGIO_DEADKEYMAP: /* get accent key translation table (compat) */
accentmapp = kbd->kb_accentmap;
oaccentmapp = (oaccentmap_t *)arg;
@@ -919,11 +930,15 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
}
}
break;
+#endif /* COMPAT_FREEBSD13 */
case PIO_DEADKEYMAP: /* set accent key translation table */
+#ifdef COMPAT_FREEBSD13
case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */
+#endif /* COMPAT_FREEBSD13 */
#ifndef KBD_DISABLE_KEYMAP_LOAD
accentmapp = malloc(sizeof(*accentmapp), M_TEMP, M_WAITOK);
+#ifdef COMPAT_FREEBSD13
if (cmd == OPIO_DEADKEYMAP) {
oaccentmapp = (oaccentmap_t *)arg;
accentmapp->n_accs = oaccentmapp->n_accs;
@@ -937,7 +952,9 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
oaccentmapp->acc[i].accchar;
}
}
- } else {
+ } else
+#endif /* COMPAT_FREEBSD13 */
+ {
error = copyin(*(void **)arg, accentmapp, sizeof(*accentmapp));
if (error != 0) {
free(accentmapp, M_TEMP);