13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/procon_bypass_man/support/usb_device_controller.rb', line 13
def init
return if initialized?
shell = " cd /sys/kernel/config/usb_gadget/\n mkdir -p procon\n cd procon\n echo 0x057e > idVendor\n echo 0x2009 > idProduct\n echo 0x0200 > bcdDevice\n echo 0x0200 > bcdUSB\n echo 0x00 > bDeviceClass\n echo 0x00 > bDeviceSubClass\n echo 0x00 > bDeviceProtocol\n\n mkdir -p strings/0x409\n echo \"000000000001\" > strings/0x409/serialnumber\n echo \"Nintendo Co., Ltd.\" > strings/0x409/manufacturer\n echo \"Pro Controller\" > strings/0x409/product\n\n mkdir -p configs/c.1/strings/0x409\n echo \"Nintendo Switch Pro Controller\" > configs/c.1/strings/0x409/configuration\n echo 500 > configs/c.1/MaxPower\n echo 0xa0 > configs/c.1/bmAttributes\n\n mkdir -p functions/hid.usb0\n echo 0 > functions/hid.usb0/protocol\n echo 0 > functions/hid.usb0/subclass\n echo 64 > functions/hid.usb0/report_length\n echo 050115000904A1018530050105091901290A150025017501950A5500650081020509190B290E150025017501950481027501950281030B01000100A1000B300001000B310001000B320001000B35000100150027FFFF0000751095048102C00B39000100150025073500463B0165147504950181020509190F2912150025017501950481027508953481030600FF852109017508953F8103858109027508953F8103850109037508953F9183851009047508953F9183858009057508953F9183858209067508953F9183C0 | xxd -r -ps > functions/hid.usb0/report_desc\n\n ln -s functions/hid.usb0 configs/c.1/\n ls /sys/class/udc > UDC\n EOH\n\n `sudo bash -c '\#{shell}'`\n ShellRunner.execute('sudo chmod 777 -R /sys/kernel/config/usb_gadget/procon')\nend\n"
|