diff options
| author | Stefan Eßer <se@FreeBSD.org> | 2023-02-14 13:03:28 +0000 |
|---|---|---|
| committer | Stefan Eßer <se@FreeBSD.org> | 2023-02-14 13:03:28 +0000 |
| commit | f20058955c9d1041a5a09cd02a27babda7e34dc8 (patch) | |
| tree | f5baabe301fedcfe2fae96c535440d12ab70392f /sys/dev/kbd | |
| parent | c2bb66023fe3e3617f56302b6960f59545a5535c (diff) | |
Diffstat (limited to 'sys/dev/kbd')
| -rw-r--r-- | sys/dev/kbd/kbd.c | 27 |
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); |
