• Dmitry Torokhov's avatar
    Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 · ab4e0192
    Dmitry Torokhov authored
    The desire to keep old names for the EVIOCGKEYCODE/EVIOCSKEYCODE while
    extending them to support large scancodes was a mistake. While we tried
    to keep ABI intact (and we succeeded in doing that, programs compiled
    on older kernels will work on newer ones) there is still a problem with
    recompiling existing software with newer kernel headers.
    
    New kernel headers will supply updated ioctl numbers and kernel will
    expect that userspace will use struct input_keymap_entry to set and
    retrieve keymap data. But since the names of ioctls are still the same
    userspace will happily compile even if not adjusted to make use of the
    new structure and will start miraculously fail in the field.
    
    To avoid this issue let's revert EVIOCGKEYCODE/EVIOCSKEYCODE definitions
    and add EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 so that userspace can explicitly
    select the style of ioctls it wants to employ.
    Reviewed-by: default avatarHenrik Rydberg <rydberg@euromail.se>
    Acked-by: default avatarJarod Wilson <jarod@redhat.com>
    Acked-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
    ab4e0192
evdev.c 21.8 KB