Merge branches 'magicmouse', 'roccat' and 'vec-pedal' into for-linus
authorJiri Kosina <jkosina@suse.cz>
Wed, 4 Aug 2010 13:31:13 +0000 (15:31 +0200)
committerJiri Kosina <jkosina@suse.cz>
Wed, 4 Aug 2010 13:31:13 +0000 (15:31 +0200)
Conflicts:
drivers/hid/hid-ids.h

1  2  3  4 
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/hid-input.c

diff --combined drivers/hid/hid-core.c
@@@@@ -1157,6 -1157,6 -1157,6 -1157,8 +1157,8 @@@@@ int hid_connect(struct hid_device *hdev
    
        if (hdev->quirks & HID_QUIRK_HIDDEV_FORCE)
                connect_mask |= (HID_CONNECT_HIDDEV_FORCE | HID_CONNECT_HIDDEV);
+++     if (hdev->quirks & HID_QUIRK_HIDINPUT_FORCE)
+++             connect_mask |= HID_CONNECT_HIDINPUT_FORCE;
        if (hdev->bus != BUS_USB)
                connect_mask &= ~HID_CONNECT_HIDDEV;
        if (hid_hiddev(hdev))
@@@@@ -1239,9 -1239,6 -1239,6 -1241,6 +1241,9 @@@@@ static const struct hid_device_id hid_b
        { HID_USB_DEVICE(USB_VENDOR_ID_3M, USB_DEVICE_ID_3M2256) },
        { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU) },
        { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_X5_005D) },
 +++#if defined(CONFIG_HID_ACRUX_FF) || defined(CONFIG_HID_ACRUX_FF_MODULE)
 +++    { HID_USB_DEVICE(USB_VENDOR_ID_ACRUX, 0x0802) },
 +++#endif
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ATV_IRCONTROL) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL4) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MIGHTYMOUSE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_MOUSE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0006) },
        { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH) },
 +++    { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
        { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) },
        { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) },
        { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR) },
        { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) },
        { HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) },
        { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_2) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_3) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_4) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_5) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_6) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_7) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_8) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_9) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_10) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_11) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_12) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_13) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_14) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_15) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_16) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_17) },
 ++     { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_18) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
        { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb653) },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb654) },
        { HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED, USB_DEVICE_ID_TOPSEED_CYBERLINK) },
 +++    { HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED2, USB_DEVICE_ID_TOPSEED2_RF_COMBO) },
        { HID_USB_DEVICE(USB_VENDOR_ID_TWINHAN, USB_DEVICE_ID_TWINHAN_IR_REMOTE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SMARTJOY_PLUS) },
        { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE_BLUETOOTH) },
 ---    { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS4_BLUETOOTH) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0005) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0030) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ZYDACRON, USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL) },
@@@@@ -1782,8 -1760,7 -1760,7 -1780,8 +1784,8 @@@@@ int hid_add_device(struct hid_device *h
    
        /* we need to kill them here, otherwise they will stay allocated to
         * wait for coming driver */
 --     if (!(hdev->quirks & HID_QUIRK_NO_IGNORE) && hid_ignore(hdev))
 ++     if (!(hdev->quirks & HID_QUIRK_NO_IGNORE)
 ++             && (hid_ignore(hdev) || (hdev->quirks & HID_QUIRK_IGNORE)))
                return -ENODEV;
    
        /* XXX hack, any other cleaner solution after the driver core
diff --combined drivers/hid/hid-ids.h
    #define USB_DEVICE_ID_ACECAD_FLAIR  0x0004
    #define USB_DEVICE_ID_ACECAD_302    0x0008
    
 +++#define USB_VENDOR_ID_ACRUX         0x1a34
 +++
    #define USB_VENDOR_ID_ADS_TECH              0x06e1
    #define USB_DEVICE_ID_ADS_TECH_RADIO_SI470X 0xa155
    
    #define USB_DEVICE_ID_APPLE_WELLSPRING_ANSI 0x0223
    #define USB_DEVICE_ID_APPLE_WELLSPRING_ISO  0x0224
    #define USB_DEVICE_ID_APPLE_WELLSPRING_JIS  0x0225
 ---#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI    0x0229
 ---#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO     0x022a
 ---#define USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS     0x022b
 ---#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI  0x022c
 ---#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO   0x022d
 ---#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS   0x022e
 +++#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI 0x0229
 +++#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO  0x022a
 +++#define USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS  0x022b
 +++#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI       0x022c
 +++#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO        0x022d
 +++#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS        0x022e
    #define USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI        0x0230
    #define USB_DEVICE_ID_APPLE_WELLSPRING2_ISO 0x0231
    #define USB_DEVICE_ID_APPLE_WELLSPRING2_JIS 0x0232
    #define USB_VENDOR_ID_AVERMEDIA             0x07ca
    #define USB_DEVICE_ID_AVER_FM_MR800 0xb800
    
 ---#define USB_VENDOR_ID_BELKIN           0x050d
 ---#define USB_DEVICE_ID_FLIP_KVM         0x3201
 +++#define USB_VENDOR_ID_BELKIN                0x050d
 +++#define USB_DEVICE_ID_FLIP_KVM              0x3201
    
    #define USB_VENDOR_ID_BERKSHIRE             0x0c98
    #define USB_DEVICE_ID_BERKSHIRE_PCWD        0x1140
    #define USB_DEVICE_ID_BTC_EMPREX_REMOTE     0x5578
    
    #define USB_VENDOR_ID_CANDO         0x2087
 ---#define USB_DEVICE_ID_CANDO_MULTI_TOUCH 0x0a01
 +++#define USB_DEVICE_ID_CANDO_MULTI_TOUCH     0x0a01
    #define USB_DEVICE_ID_CANDO_MULTI_TOUCH_11_6 0x0b03
    
    #define USB_VENDOR_ID_CH            0x068e
    #define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2
    #define USB_DEVICE_ID_CH_COMBATSTICK        0x00f4
 ++ #define USB_DEVICE_ID_CH_FLIGHT_SIM_ECLIPSE_YOKE       0x0051
    #define USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE    0x00ff
    #define USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK        0x00d3
    
    #define USB_DEVICE_ID_DEALEXTREAME_RADIO_SI4701     0x819a
    
    #define USB_VENDOR_ID_DELORME               0x1163
 ---#define USB_DEVICE_ID_DELORME_EARTHMATE 0x0100
 +++#define USB_DEVICE_ID_DELORME_EARTHMATE     0x0100
    #define USB_DEVICE_ID_DELORME_EM_LT20       0x0200
    
    #define USB_VENDOR_ID_DMI           0x0c0b
    #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER        0x0001
    #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH        0x480d
    
 +++#define USB_VENDOR_ID_ELECOM                0x056e
 +++#define USB_DEVICE_ID_ELECOM_BM084  0x0061
 +++
    #define USB_VENDOR_ID_ELO           0x04E7
    #define USB_DEVICE_ID_ELO_TS2700    0x0020
    
    #define USB_VENDOR_ID_ESSENTIAL_REALITY     0x0d7f
    #define USB_DEVICE_ID_ESSENTIAL_REALITY_P5 0x0100
    
 ---#define USB_VENDOR_ID_ETURBOTOUCH   0x22b9
 ---#define USB_DEVICE_ID_ETURBOTOUCH   0x0006
 ---
    #define USB_VENDOR_ID_ETT           0x0664
    #define USB_DEVICE_ID_TC5UH         0x0309
    
 ---#define USB_VENDOR_ID_EZKEY                 0x0518
 +++#define USB_VENDOR_ID_ETURBOTOUCH   0x22b9
 +++#define USB_DEVICE_ID_ETURBOTOUCH   0x0006
 +++
 +++#define USB_VENDOR_ID_EZKEY         0x0518
    #define USB_DEVICE_ID_BTC_8193              0x0002
    
    #define USB_VENDOR_ID_GAMERON               0x0810
    #define USB_VENDOR_ID_KBGEAR                0x084e
    #define USB_DEVICE_ID_KBGEAR_JAMSTUDIO      0x1001
    
 +++#define USB_VENDOR_ID_KENSINGTON    0x047d
 +++#define USB_DEVICE_ID_KS_SLIMBLADE  0x2041
 +++
    #define USB_VENDOR_ID_KWORLD                0x1b80
    #define USB_DEVICE_ID_KWORLD_RADIO_FM700    0xd700
    
 +++#define USB_VENDOR_ID_KYE           0x0458
 +++#define USB_DEVICE_ID_KYE_ERGO_525V 0x0087
 +++#define USB_DEVICE_ID_KYE_GPEN_560  0x5003
 +++
    #define USB_VENDOR_ID_LABTEC                0x1020
    #define USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD      0x0006
    
    #define USB_DEVICE_ID_LD_POWERCONTROL       0x2030
    #define USB_DEVICE_ID_LD_MACHINETEST        0x2040
    
 ---#define USB_VENDOR_ID_KENSINGTON    0x047d
 ---#define USB_DEVICE_ID_KS_SLIMBLADE  0x2041
 ---
    #define USB_VENDOR_ID_LOGITECH              0x046d
    #define USB_DEVICE_ID_LOGITECH_RECEIVER     0xc101
    #define USB_DEVICE_ID_LOGITECH_HARMONY_FIRST  0xc110
    #define USB_DEVICE_ID_MS_PRESENTER_8K_BT    0x0701
    #define USB_DEVICE_ID_MS_PRESENTER_8K_USB   0x0713
    
 ++ #define USB_VENDOR_ID_MOJO          0x8282
 ++ #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201
    
    #define USB_VENDOR_ID_MONTEREY              0x0566
    #define USB_DEVICE_ID_GENIUS_KB29E  0x3004
    
 +++#define USB_VENDOR_ID_NATIONAL_SEMICONDUCTOR 0x0400
 +++#define USB_DEVICE_ID_N_S_HARMONY   0xc359
 +++
 +++#define USB_VENDOR_ID_NATSU         0x08b7
 +++#define USB_DEVICE_ID_NATSU_GAMEPAD 0x0001
 +++
    #define USB_VENDOR_ID_NCR           0x0404
    #define USB_DEVICE_ID_NCR_FIRST             0x0300
    #define USB_DEVICE_ID_NCR_LAST              0x03ff
    
 ---#define USB_VENDOR_ID_NATIONAL_SEMICONDUCTOR 0x0400
 ---#define USB_DEVICE_ID_N_S_HARMONY       0xc359
 ---
 ---#define USB_VENDOR_ID_NATSU             0x08b7
 ---#define USB_DEVICE_ID_NATSU_GAMEPAD     0x0001
 ---
    #define USB_VENDOR_ID_NEC           0x073e
    #define USB_DEVICE_ID_NEC_USB_GAME_PAD      0x0301
    
    #define USB_VENDOR_ID_NEXTWINDOW    0x1926
    #define USB_DEVICE_ID_NEXTWINDOW_TOUCHSCREEN        0x0003
    
 ---#define USB_VENDOR_ID_NTRIG                0x1b96
 +++#define USB_VENDOR_ID_NTRIG         0x1b96
    #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN   0x0001
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1   0x0003
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_2   0x0004
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_3   0x0005
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_4   0x0006
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_5   0x0007
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_6   0x0008
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_7   0x0009
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_8   0x000A
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_9   0x000B
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_10   0x000C
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_11   0x000D
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_12   0x000E
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_13   0x000F
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_14   0x0010
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_15   0x0011
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_16   0x0012
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_17   0x0013
 ++ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_18   0x0014
    
    #define USB_VENDOR_ID_ONTRAK                0x0a07
    #define USB_DEVICE_ID_ONTRAK_ADU100 0x0064
    #define USB_VENDOR_ID_PETALYNX              0x18b1
    #define USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE        0x0037
    
 ---#define USB_VENDOR_ID_PHILIPS       0x0471
 +++#define USB_VENDOR_ID_PHILIPS               0x0471
    #define USB_DEVICE_ID_PHILIPS_IEEE802154_DONGLE 0x0617
    
++++#define USB_VENDOR_ID_PI_ENGINEERING        0x05f3
++++#define USB_DEVICE_ID_PI_ENGINEERING_VEC_USB_FOOTPEDAL      0xff
++++
    #define USB_VENDOR_ID_PLAYDOTCOM    0x0b43
    #define USB_DEVICE_ID_PLAYDOTCOM_EMS_USBII  0x0003
    
    #define USB_VENDOR_ID_PRODIGE               0x05af
    #define USB_DEVICE_ID_PRODIGE_CORDLESS      0x3062
    
 +++#define USB_VENDOR_ID_QUANTA                0x0408
 +++#define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH  0x3000
 +++#define USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN       0x3001
 +++
    #define USB_VENDOR_ID_ROCCAT                0x1e7d
    #define USB_DEVICE_ID_ROCCAT_KONE   0x2ced
    
    #define USB_VENDOR_ID_SAITEK                0x06a3
    #define USB_DEVICE_ID_SAITEK_RUMBLEPAD      0xff17
    
 ---#define USB_VENDOR_ID_QUANTA                0x0408
 ---#define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH  0x3000
 ---#define USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN       0x3001
 ---
    #define USB_VENDOR_ID_SAMSUNG               0x0419
    #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE     0x0001
    #define USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE    0x0600
    
    #define USB_VENDOR_ID_THRUSTMASTER  0x044f
    
 ---#define USB_VENDOR_ID_TOUCHPACK             0x1bfd
 ---#define USB_DEVICE_ID_TOUCHPACK_RTS 0x1688
 +++#define USB_VENDOR_ID_TOPSEED               0x0766
 +++#define USB_DEVICE_ID_TOPSEED_CYBERLINK     0x0204
 +++
 +++#define USB_VENDOR_ID_TOPSEED2              0x1784
 +++#define USB_DEVICE_ID_TOPSEED2_RF_COMBO     0x0004
    
    #define USB_VENDOR_ID_TOPMAX                0x0663
    #define USB_DEVICE_ID_TOPMAX_COBRAPAD       0x0103
    
 ---#define USB_VENDOR_ID_TOPSEED               0x0766
 ---#define USB_DEVICE_ID_TOPSEED_CYBERLINK     0x0204
 +++#define USB_VENDOR_ID_TOUCHPACK             0x1bfd
 +++#define USB_DEVICE_ID_TOUCHPACK_RTS 0x1688
    
    #define USB_VENDOR_ID_TURBOX                0x062a
    #define USB_DEVICE_ID_TURBOX_KEYBOARD       0x0201
    
 ---#define USB_VENDOR_ID_TWINHAN           0x6253
 ---#define USB_DEVICE_ID_TWINHAN_IR_REMOTE 0x0100
 +++#define USB_VENDOR_ID_TWINHAN               0x6253
 +++#define USB_DEVICE_ID_TWINHAN_IR_REMOTE     0x0100
    
    #define USB_VENDOR_ID_UCLOGIC               0x5543
    #define USB_DEVICE_ID_UCLOGIC_TABLET_PF1209 0x0042
    
    #define USB_VENDOR_ID_WACOM         0x056a
    #define USB_DEVICE_ID_WACOM_GRAPHIRE_BLUETOOTH      0x81
 ---#define USB_DEVICE_ID_WACOM_INTUOS4_BLUETOOTH       0xbd
    
    #define USB_VENDOR_ID_WISEGROUP             0x0925
    #define USB_DEVICE_ID_SMARTJOY_PLUS 0x0005
    #define USB_VENDOR_ID_ZYDACRON      0x13EC
    #define USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL       0x0006
    
 ---#define USB_VENDOR_ID_KYE           0x0458
 ---#define USB_DEVICE_ID_KYE_ERGO_525V 0x0087
 ---#define USB_DEVICE_ID_KYE_GPEN_560  0x5003
 ---
   -#define USB_VENDOR_ID_PI_ENGINEERING        0x05f3
   -#define USB_DEVICE_ID_PI_ENGINEERING_VEC_USB_FOOTPEDAL      0xff
----
    #endif
diff --combined drivers/hid/hid-input.c
@@@@@ -199,11 -199,11 -199,11 -199,11 +199,11 @@@@@ static void hidinput_configure_usage(st
                case HID_GD_MOUSE:
                case HID_GD_POINTER:  code += 0x110; break;
                case HID_GD_JOYSTICK:
---                                   if (code <= 0xf)
---                                           code += BTN_JOYSTICK;
---                                   else
---                                           code += BTN_TRIGGER_HAPPY;
---                                   break;
+++                             if (code <= 0xf)
+++                                     code += BTN_JOYSTICK;
+++                             else
+++                                     code += BTN_TRIGGER_HAPPY;
+++                             break;
                case HID_GD_GAMEPAD:  code += 0x130; break;
                default:
                        switch (field->physical) {
    
        case HID_UP_DIGITIZER:
                switch (usage->hid & 0xff) {
 +++            case 0x00: /* Undefined */
 +++                    goto ignore;
 +++
                case 0x30: /* TipPressure */
                        if (!test_bit(BTN_TOUCH, input->keybit)) {
                                device->quirks |= HID_QUIRK_NOTOUCH;
    
        case HID_UP_LOGIVENDOR:
                goto ignore;
---     
+++ 
        case HID_UP_PID:
                switch (usage->hid & HID_USAGE) {
                case 0xa4: map_key_clear(BTN_DEAD);     break;
@@@@@ -589,9 -586,9 -586,9 -586,9 +589,9 @@@@@ void hidinput_hid_event(struct hid_devi
                        hat_dir = (value - usage->hat_min) * 8 / (usage->hat_max - usage->hat_min + 1) + 1;
                if (hat_dir < 0 || hat_dir > 8) hat_dir = 0;
                input_event(input, usage->type, usage->code    , hid_hat_to_axis[hat_dir].x);
---                 input_event(input, usage->type, usage->code + 1, hid_hat_to_axis[hat_dir].y);
---                 return;
---         }
+++             input_event(input, usage->type, usage->code + 1, hid_hat_to_axis[hat_dir].y);
+++             return;
+++     }
    
        if (usage->hid == (HID_UP_DIGITIZER | 0x003c)) { /* Invert */
                *quirks = value ? (*quirks | HID_QUIRK_INVERT) : (*quirks & ~HID_QUIRK_INVERT);