root/drivers/hid/hid-accutouch.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. accutouch_input_mapping

   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /*
   3  * HID driver for Elo Accutouch touchscreens
   4  *
   5  * Copyright (c) 2016, Collabora Ltd.
   6  * Copyright (c) 2016, General Electric Company
   7  *
   8  * based on hid-penmount.c
   9  *  Copyright (c) 2014 Christian Gmeiner <christian.gmeiner <at> gmail.com>
  10  */
  11 
  12 /*
  13  */
  14 
  15 #include <linux/hid.h>
  16 #include <linux/module.h>
  17 #include "hid-ids.h"
  18 
  19 static int accutouch_input_mapping(struct hid_device *hdev,
  20                                    struct hid_input *hi,
  21                                    struct hid_field *field,
  22                                    struct hid_usage *usage,
  23                                    unsigned long **bit, int *max)
  24 {
  25         if ((usage->hid & HID_USAGE_PAGE) == HID_UP_BUTTON) {
  26                 hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH);
  27                 return 1;
  28         }
  29 
  30         return 0;
  31 }
  32 
  33 static const struct hid_device_id accutouch_devices[] = {
  34         { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_ACCUTOUCH_2216) },
  35         { }
  36 };
  37 MODULE_DEVICE_TABLE(hid, accutouch_devices);
  38 
  39 static struct hid_driver accutouch_driver = {
  40         .name = "hid-accutouch",
  41         .id_table = accutouch_devices,
  42         .input_mapping = accutouch_input_mapping,
  43 };
  44 
  45 module_hid_driver(accutouch_driver);
  46 
  47 MODULE_AUTHOR("Martyn Welch <martyn.welch@collabora.co.uk");
  48 MODULE_DESCRIPTION("Elo Accutouch HID TouchScreen driver");
  49 MODULE_LICENSE("GPL");

/* [<][>][^][v][top][bottom][index][help] */