Pro Controller supports PC without any extra software

Discussion in 'Switch - Console, Accessories and Hardware' started by xtheman, Feb 23, 2017.

  1. xtheman
    OP

    xtheman GBAtemp Guru

    Member
    5,847
    5,282
    Jan 28, 2016
    United States
    So according to this tweet the Switch Pro Controller works on PC (likely as dinput).
    I might just hunting down one in the future thanks to this feature alone.

    Edit: Video
     
    Last edited by xtheman, Feb 28, 2017
  2. osaka35

    osaka35 Instrucional Designer

    Member
    1,824
    1,282
    Nov 20, 2009
    United States
    Silent Hill
    Good news! Hopefully it'll be fine with dolphin, though those digital triggers won't work well with sunshine.
     
  3. x65943

    x65943 Resident Greekaboo, Amateur Dog Father

    Member
    2,632
    2,431
    Jun 23, 2014
    United States
    Indiana
    I'm glad that nintendo is finally realizing that their controllers will be worth more if they support pc.
     
    TheCyberQuake likes this.
  4. VinLark

    VinLark This machine kills bourgeois sentimentality.

    Member
    4,224
    5,106
    Jun 11, 2016
    Trinidad and Tobago
    Psychosystem Denomination
    Nice, but i'll stick with my Xbox controller, Gamecube and Wii U pro
     
  5. Xzi

    Xzi Virtual Bartman

    Member
    3,948
    2,735
    Dec 26, 2013
    United States
    Spiraling Out
    Excellent, that makes 5 USB controllers that'll work with my PC. Two XB1, two Shield TV.
     
  6. Sketchy1

    Sketchy1 gbatemp's shadiest warez dealer

    Member
    1,544
    424
    Aug 9, 2016
    United States
    so nintendo suddenly looking @ pc?
    im actually surprised
     
  7. Yil

    Yil GBAtemp Addict

    Member
    2,107
    633
    Feb 19, 2014
    Canada
    Well, I get 3 pc compatible controllers with the pro controller.
     
  8. xtheman
    OP

    xtheman GBAtemp Guru

    Member
    5,847
    5,282
    Jan 28, 2016
    United States
    Bump, new video
     
  9. knubie

    knubie Newbie

    Newcomer
    6
    1
    Jan 24, 2015
    United States
    Looks like the gyros and rumble don't work out of the box.

    I'd be interested in writing a custom driver for this but I have never done that before so I'm not sure where to even start.
     
  10. WiiUBricker

    WiiUBricker Insert Custom Title

    Member
    7,214
    4,431
    Sep 19, 2009
    Argentina
    Espresso
    It would be more interesting if someone can get the Joy-Cons to work on a PC.
     
  11. AlanLC

    AlanLC GBAtemp Regular

    Member
    165
    62
    Aug 18, 2014
    Brazil
    I want Gyroscopy Working
     
  12. froggestspirit

    froggestspirit D/P/Pt Demix Guy

    Member
    1,137
    567
    Jul 28, 2011
    United States
    someone did, but one joy-con per player. (could probably be worked around with a special driver or mapper).

    Nintendo is smart to make this PC compatible, as it provides no cons, and more incentive to buy one.
     
    VinLark and NutymcNuty like this.
  13. toomanyluigis

    toomanyluigis Member

    Newcomer
    13
    1
    Feb 24, 2012
    will this work on windows 7? All videos seem to show windows8/10
     
  14. knubie

    knubie Newbie

    Newcomer
    6
    1
    Jan 24, 2015
    United States
    Over the weekend I started playing around with the pro controller and was able to get the HID Report Descriptor for it:

    Code:
    0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
    0x09, 0x05,        // Usage (Game Pad)
    0xA1, 0x01,        // Collection (Application)
    0x06, 0x01, 0xFF,  //   Usage Page (Vendor Defined 0xFF01)
    0x85, 0x21,        //   Report ID (33)
    0x09, 0x21,        //   Usage (0x21)
    0x75, 0x08,        //   Report Size (8)
    0x95, 0x30,        //   Report Count (48)
    0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x85, 0x30,        //   Report ID (48)
    0x09, 0x30,        //   Usage (0x30)
    0x75, 0x08,        //   Report Size (8)
    0x95, 0x30,        //   Report Count (48)
    0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x85, 0x31,        //   Report ID (49)
    0x09, 0x31,        //   Usage (0x31)
    0x75, 0x08,        //   Report Size (8)
    0x96, 0x69, 0x01,  //   Report Count (361)
    0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x85, 0x32,        //   Report ID (50)
    0x09, 0x32,        //   Usage (0x32)
    0x75, 0x08,        //   Report Size (8)
    0x96, 0x69, 0x01,  //   Report Count (361)
    0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x85, 0x33,        //   Report ID (51)
    0x09, 0x33,        //   Usage (0x33)
    0x75, 0x08,        //   Report Size (8)
    0x96, 0x69, 0x01,  //   Report Count (361)
    0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x85, 0x3F,        //   Report ID (63)
    0x05, 0x09,        //   Usage Page (Button)
    0x19, 0x01,        //   Usage Minimum (0x01)
    0x29, 0x10,        //   Usage Maximum (0x10)
    0x15, 0x00,        //   Logical Minimum (0)
    0x25, 0x01,        //   Logical Maximum (1)
    0x75, 0x01,        //   Report Size (1)
    0x95, 0x10,        //   Report Count (16)
    0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x05, 0x01,        //   Usage Page (Generic Desktop Ctrls)
    0x09, 0x39,        //   Usage (Hat switch)
    0x15, 0x00,        //   Logical Minimum (0)
    0x25, 0x07,        //   Logical Maximum (7)
    0x75, 0x04,        //   Report Size (4)
    0x95, 0x01,        //   Report Count (1)
    0x81, 0x42,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State)
    0x05, 0x09,        //   Usage Page (Button)
    0x75, 0x04,        //   Report Size (4)
    0x95, 0x01,        //   Report Count (1)
    0x81, 0x01,        //   Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x05, 0x01,        //   Usage Page (Generic Desktop Ctrls)
    0x09, 0x30,        //   Usage (X)
    0x09, 0x31,        //   Usage (Y)
    0x09, 0x33,        //   Usage (Rx)
    0x09, 0x34,        //   Usage (Ry)
    0x16, 0x00, 0x00,  //   Logical Minimum (0)
    0x27, 0xFF, 0xFF, 0x00, 0x00,  //   Logical Maximum (65535)
    0x75, 0x10,        //   Report Size (16)
    0x95, 0x04,        //   Report Count (4)
    0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x06, 0x01, 0xFF,  //   Usage Page (Vendor Defined 0xFF01)
    0x85, 0x01,        //   Report ID (1)
    0x09, 0x01,        //   Usage (0x01)
    0x75, 0x08,        //   Report Size (8)
    0x95, 0x30,        //   Report Count (48)
    0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
    0x85, 0x10,        //   Report ID (16)
    0x09, 0x10,        //   Usage (0x10)
    0x75, 0x08,        //   Report Size (8)
    0x95, 0x30,        //   Report Count (48)
    0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
    0x85, 0x11,        //   Report ID (17)
    0x09, 0x11,        //   Usage (0x11)
    0x75, 0x08,        //   Report Size (8)
    0x95, 0x30,        //   Report Count (48)
    0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
    0x85, 0x12,        //   Report ID (18)
    0x09, 0x12,        //   Usage (0x12)
    0x75, 0x08,        //   Report Size (8)
    0x95, 0x30,        //   Report Count (48)
    0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
    0xC0,              // End Collection
    
    // 170 bytes
    It looks like gyro inputs are missing (which is to be expected). Anyone have any ideas of where to go next with this?
     
    I pwned U! likes this.