• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/hid/

Lines Matching defs:hid

2  * $Id: hid-input.c,v 1.1.1.1 2007/08/03 18:52:30 Exp $
34 #include <linux/hid.h>
35 #include <linux/hid-debug.h>
146 static int hidinput_pb_event(struct hid_device *hid, struct input_dev *input,
152 if (value) hid->quirks |= HID_QUIRK_POWERBOOK_FN_ON;
153 else hid->quirks &= ~HID_QUIRK_POWERBOOK_FN_ON;
165 if (test_bit(usage->code, hid->pb_pressed_fn))
169 (hid_pb_fnmode == 2 && (hid->quirks & HID_QUIRK_POWERBOOK_FN_ON)) ||
170 (hid_pb_fnmode == 1 && !(hid->quirks & HID_QUIRK_POWERBOOK_FN_ON));
172 do_translate = (hid->quirks & HID_QUIRK_POWERBOOK_FN_ON);
176 set_bit(usage->code, hid->pb_pressed_fn);
178 clear_bit(usage->code, hid->pb_pressed_fn);
186 if (test_bit(usage->code, hid->pb_pressed_numlock) ||
192 set_bit(usage->code, hid->pb_pressed_numlock);
194 clear_bit(usage->code, hid->pb_pressed_numlock);
203 if (hid->quirks & HID_QUIRK_POWERBOOK_ISO_KEYBOARD) {
232 static inline int hidinput_pb_event(struct hid_device *hid, struct input_dev *input,
257 static struct hid_usage *hidinput_find_key(struct hid_device *hid,
265 list_for_each_entry(report, &hid->report_enum[k].report_list, list) {
270 match_scancode(usage->hid, scancode) &&
283 struct hid_device *hid = dev->private;
286 usage = hidinput_find_key(hid, scancode, 0);
297 struct hid_device *hid = dev->private;
304 usage = hidinput_find_key(hid, scancode, 0);
316 if (hidinput_find_key (hid, 0, old_keycode))
338 hid_resolv_usage(usage->hid);
345 switch (usage->hid & HID_USAGE_PAGE) {
354 if ((usage->hid & HID_USAGE) < 256) {
355 if (!hid_keyboard[usage->hid & HID_USAGE]) goto ignore;
356 map_key_clear(hid_keyboard[usage->hid & HID_USAGE]);
364 code = ((usage->hid - 1) & 0xf);
387 switch (usage->hid & 0xffff) {
399 if ((usage->hid & 0xf0) == 0x80) { /* SystemControl */
400 switch (usage->hid & 0xf) {
409 if ((usage->hid & 0xf0) == 0x90) { /* D-pad */
410 switch (usage->hid) {
425 switch (usage->hid) {
432 map_rel(usage->hid & 0xf);
434 map_abs(usage->hid & 0xf);
453 switch (usage->hid & 0xffff) { /* HID-Value: */
472 switch (usage->hid & 0xff) {
513 switch (usage->hid & HID_USAGE) {
673 switch (usage->hid & HID_USAGE) {
696 switch(usage->hid & HID_USAGE) {
710 switch(usage->hid & HID_USAGE) {
734 switch(usage->hid & HID_USAGE) {
759 if (usage->hid == HID_GD_Z)
771 if (((device->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_5) && (usage->hid == 0x00090005))
772 || ((device->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_7) && (usage->hid == 0x00090007)))
834 void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value)
837 int *quirks = &hid->quirks;
847 if (((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_5) && (usage->hid == 0x00090005))
848 || ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_7) && (usage->hid == 0x00090007))) {
849 if (value) hid->quirks |= HID_QUIRK_2WHEEL_MOUSE_HACK_ON;
850 else hid->quirks &= ~HID_QUIRK_2WHEEL_MOUSE_HACK_ON;
854 if ((hid->quirks & HID_QUIRK_INVERT_HWHEEL) && (usage->code == REL_HWHEEL)) {
859 if ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_ON) && (usage->code == REL_WHEEL)) {
864 if ((hid->quirks & HID_QUIRK_POWERBOOK_HAS_FN) && hidinput_pb_event(hid, input, usage, value))
877 if (usage->hid == (HID_UP_DIGITIZER | 0x003c)) { /* Invert */
882 if (usage->hid == (HID_UP_DIGITIZER | 0x0032)) { /* InRange */
892 if (usage->hid == (HID_UP_DIGITIZER | 0x0030) && (*quirks & HID_QUIRK_NOTOUCH)) { /* Pressure */
898 if (usage->hid == (HID_UP_PID | 0x83UL)) { /* Simultaneous Effects Max */
903 if (usage->hid == (HID_UP_PID | 0x7fUL)) {
917 void hidinput_report_event(struct hid_device *hid, struct hid_report *report)
921 list_for_each_entry(hidinput, &hid->inputs, list)
926 int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field)
931 list_for_each_entry(report, &hid->report_enum[HID_OUTPUT_REPORT].report_list, list) {
945 struct hid_device *hid = input_get_drvdata(dev);
947 return hid->hid_open(hid);
952 struct hid_device *hid = input_get_drvdata(dev);
954 hid->hid_close(hid);
963 int hidinput_connect(struct hid_device *hid)
971 INIT_LIST_HEAD(&hid->inputs);
973 for (i = 0; i < hid->maxcollection; i++)
974 if (hid->collection[i].type == HID_COLLECTION_APPLICATION ||
975 hid->collection[i].type == HID_COLLECTION_PHYSICAL)
976 if (IS_INPUT_APPLICATION(hid->collection[i].usage))
979 if (i == hid->maxcollection)
982 if (hid->quirks & HID_QUIRK_SKIP_OUTPUT_REPORTS)
986 list_for_each_entry(report, &hid->report_enum[k].report_list, list) {
997 err("Out of memory during hid input probe");
1001 input_set_drvdata(input_dev, hid);
1002 input_dev->event = hid->hidinput_input_event;
1008 input_dev->name = hid->name;
1009 input_dev->phys = hid->phys;
1010 input_dev->uniq = hid->uniq;
1011 input_dev->id.bustype = hid->bus;
1012 input_dev->id.vendor = hid->vendor;
1013 input_dev->id.product = hid->product;
1014 input_dev->id.version = hid->version;
1015 input_dev->dev.parent = hid->dev;
1017 list_add_tail(&hidinput->list, &hid->inputs);
1025 if (hid->quirks & HID_QUIRK_MULTI_INPUT) {
1044 void hidinput_disconnect(struct hid_device *hid)
1048 list_for_each_entry_safe(hidinput, next, &hid->inputs, list) {