Contornando o sensor de movimento do MacBook Pro usando / dev / input / js0 como um joystick

1

Eu estou em um MacBook Pro 8,1 rodando 14.04 e nunca conectei nenhum dispositivo com um joystick ao meu laptop. Quando eu estava tentando corrigir um problema de entrada que estava tendo, verifiquei /dev/input/js0 achando que não deveria existir, mas lá estava.

Eu não vi nada relacionado a joystick em xinput list :

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ bcm5974                                   id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Apple Inc. Apple Internal Keyboard / Trackpad id=10   [slave  keyboard (3)]
    ↳ FaceTime HD Camera (Built-in)             id=12   [slave  keyboard (3)]
    ↳ Apple Computer, Inc. IR Receiver          id=13   [slave  keyboard (3)]

Mas, udevadm info /dev/input/js0 mostra:

P: /devices/platform/applesmc.768/input/input7/js0
N: input/js0
E: DEVNAME=/dev/input/js0
E: DEVPATH=/devices/platform/applesmc.768/input/input7/js0
E: ID_INPUT=1
E: ID_PATH=platform-applesmc.768
E: ID_PATH_TAG=platform-applesmc_768
E: MAJOR=13
E: MINOR=0
E: SUBSYSTEM=input
E: USEC_INITIALIZED=789104

e udevadm info --attribute-walk /dev/input/js0 mostram:

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/platform/applesmc.768/input/input7/js0':
    KERNEL=="js0"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/platform/applesmc.768/input/input7':
    KERNELS=="input7"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{max}=="50"
    ATTRS{min}=="0"
    ATTRS{name}=="applesmc"
    ATTRS{phys}==""
    ATTRS{poll}=="50"
    ATTRS{uniq}==""
    ATTRS{properties}=="0"

  looking at parent device '/devices/platform/applesmc.768':
    KERNELS=="applesmc.768"
    SUBSYSTEMS=="platform"
    DRIVERS=="applesmc"
    ATTRS{key_at_index_data}==""
    ATTRS{key_at_index_name}=="#KEY"
    ATTRS{key_at_index_type}=="ui32"
    ATTRS{name}=="applesmc"
    ATTRS{fan1_manual}=="0"
    ATTRS{temp12_input}=="59000"
    ATTRS{temp12_label}=="TCGC"
    ATTRS{temp3_input}=="34500"
    ATTRS{temp3_label}=="TB2T"
    ATTRS{fan1_output}=="6200"
    ATTRS{temp19_input}=="52000"
    ATTRS{temp19_label}=="TPCD"
    ATTRS{light}=="(0,0)"
    ATTRS{fan1_max}=="6200"
    ATTRS{fan1_min}=="6200"
    ATTRS{temp13_input}=="54000"
    ATTRS{temp13_label}=="TCSA"
    ATTRS{temp4_input}=="59000"
    ATTRS{temp4_label}=="TC0C"
    ATTRS{key_count}=="379"
    ATTRS{fan1_input}=="6313"
    ATTRS{fan1_label}=="Exhaust  "
    ATTRS{temp14_input}=="-250"
    ATTRS{temp14_label}=="TCTD"
    ATTRS{temp5_input}=="58500"
    ATTRS{temp5_label}=="TC0D"
    ATTRS{temp20_input}=="-127000"
    ATTRS{temp20_label}=="TW0P"
    ATTRS{key_at_index}=="0"
    ATTRS{position}=="(-8,-5,248)"
    ATTRS{key_at_index_data_length}=="4"
    ATTRS{temp15_input}=="42000"
    ATTRS{temp15_label}=="TM0P"
    ATTRS{temp6_input}=="59750"
    ATTRS{temp6_label}=="TC0E"
    ATTRS{temp21_input}=="40500"
    ATTRS{temp21_label}=="Th1H"
    ATTRS{calibrate}=="(1,8)"
    ATTRS{temp16_input}=="44500"
    ATTRS{temp16_label}=="TM0S"
    ATTRS{temp7_input}=="61000"
    ATTRS{temp7_label}=="TC0F"
    ATTRS{temp22_input}=="33000"
    ATTRS{temp22_label}=="Ts0P"
    ATTRS{temp10_input}=="60000"
    ATTRS{temp10_label}=="TC1C"
    ATTRS{temp1_input}=="35000"
    ATTRS{temp1_label}=="TB0T"
    ATTRS{temp17_input}=="0"
    ATTRS{temp17_label}=="TMBS"
    ATTRS{temp8_input}=="1000"
    ATTRS{temp8_label}=="TC0J"
    ATTRS{temp23_input}=="38500"
    ATTRS{temp23_label}=="Ts0S"
    ATTRS{temp11_input}=="59000"
    ATTRS{temp11_label}=="TC2C"
    ATTRS{temp2_input}=="35000"
    ATTRS{temp2_label}=="TB1T"
    ATTRS{temp18_input}=="44000"
    ATTRS{temp18_label}=="TP0P"
    ATTRS{temp9_input}=="54500"
    ATTRS{temp9_label}=="TC0P"

  looking at parent device '/devices/platform':
    KERNELS=="platform"
    SUBSYSTEMS==""
    DRIVERS==""

Eu reconheço os sensores temporários acima, razão pela qual eu estava me perguntando por que applesmc , teria alguma coisa a ver com joysticks. Assumindo que eu entendi direito, é porque applesmc usa / dev / input / js0 para os sensores de movimento do MacBook Pro (acho que eles são os usados para detectar se ele está em uma superfície nivelada). Quão importantes são os sensores de movimento no uso do sistema? É seguro se livrar de /dev/input/js0 ? Se sim, como fazê-lo com segurança?

O pano de fundo do problema de entrada que estou tendo é com o Skyrim on Wine. Se eu estou correndo em qualquer direção durante um pico de latência, meu personagem fica preso correndo naquela direção, independentemente de outra entrada direcional ou se o personagem está em auto-execução. O que o consertava para a maioria das pessoas era desabilitar as configurações do gamepad / joystick. Eu o desabilitei através das configurações do jogo e dos arquivos .ini, mas o problema persiste, o que me levou a investigar se ele é ou não js0 -related.

    
por maki57 03.11.2014 / 18:56

0 respostas