AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1139960
Accepted
SaintDude
SaintDude
Asked: 2019-05-03 04:38:20 +0800 CST2019-05-03 04:38:20 +0800 CST 2019-05-03 04:38:20 +0800 CST

Como habilitar uma vibração em um gamepad para PC no Xubuntu 18.10

  • 772

Eu tenho um gamepad desconhecido por $ 3-4 e conectei-o ao PC para testar a vibração, mas não sei como.

gamepad games xubuntu 18.10
  • 1 1 respostas
  • 6045 Views

1 respostas

  • Voted
  1. Best Answer
    nondebug
    2019-05-04T12:05:06+08:002019-05-04T12:05:06+08:00

    O gamepad pode não suportar vibração. Se você puder editar sua postagem para incluir os IDs do fornecedor e do produto do dispositivo, será muito mais fácil para outras pessoas saberem qual modelo você possui e se deve funcionar. Você pode obter isso com lsusb(supondo que esteja conectado com USB):

    $ lsusb
    Bus 002 Device 056: ID 045e:02ea Microsoft Corp. 
    

    Nesse caso, tenho um gamepad conectado com ID do fornecedor 045ee ID do produto 02ea. Esses são os IDs de um controle do Xbox One.

    Um gamepad suporta vibração se suportar o FF_RUMBLEevento, que você pode verificar com a evtestferramenta. Aqui está a saída para o meu controle do Xbox One, que suporta vibração.

    $ evtest
    No device specified, trying to scan all of /dev/input/event*
    Not running as root, no devices may be available.
    Available devices:
    /dev/input/event16: Microsoft X-Box One S pad
    Select the device event number [0-16]: 16
    Input driver version is 1.0.1
    Input device ID: bus 0x3 vendor 0x45e product 0x2ea version 0x301
    Input device name: "Microsoft X-Box One S pad"
    Supported events:
      Event type 0 (EV_SYN)
      Event type 1 (EV_KEY)
        Event code 304 (BTN_SOUTH)
        Event code 305 (BTN_EAST)
        Event code 307 (BTN_NORTH)
        Event code 308 (BTN_WEST)
        Event code 310 (BTN_TL)
        Event code 311 (BTN_TR)
        Event code 314 (BTN_SELECT)
        Event code 315 (BTN_START)
        Event code 316 (BTN_MODE)
        Event code 317 (BTN_THUMBL)
        Event code 318 (BTN_THUMBR)
      Event type 3 (EV_ABS)
        Event code 0 (ABS_X)
          Value    738
          Min   -32768
          Max    32767
          Flat     128
        Event code 1 (ABS_Y)
          Value    705
          Min   -32768
          Max    32767
          Flat     128
        Event code 2 (ABS_Z)
          Value      0
          Min        0
          Max     1023
        Event code 3 (ABS_RX)
          Value    482
          Min   -32768
          Max    32767
          Fuzz      16
          Flat     128
        Event code 4 (ABS_RY)
          Value   -339
          Min   -32768
          Max    32767
          Fuzz      16
          Flat     128
        Event code 5 (ABS_RZ)
          Value      0
          Min        0
          Max     1023
        Event code 16 (ABS_HAT0X)
          Value      0
          Min       -1
          Max        1
        Event code 17 (ABS_HAT0Y)
          Value      0
          Min       -1
          Max        1
      Event type 21 (EV_FF)
        Event code 80 (FF_RUMBLE)
        Event code 81 (FF_PERIODIC)
        Event code 88 (FF_SQUARE)
        Event code 89 (FF_TRIANGLE)
        Event code 90 (FF_SINE)
        Event code 96 (FF_GAIN)
    Properties:
    Testing ... (interrupt to exit)
    

    Event code 80 (FF_RUMBLE)significa que deve suportar efeitos de vibração.

    Para testar o rumble, use fftest. Você precisará fornecer o caminho para o nó evdev do gamepad, que está incluído na saída de evtest. Para o meu controlador do Xbox, isso foi /dev/input/event16:

    $ fftest /dev/input/event16
    Force feedback test program.
    HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES
    
    Device /dev/input/event16 opened
    Features:
      * Absolute axes: X, Y, Z, RX, RY, RZ, Hat 0 X, Hat 0 Y, 
        [3F 00 03 00 00 00 00 00 ]
      * Relative axes: 
        [00 00 ]
      * Force feedback effects types: Periodic, Rumble, Gain, 
        Force feedback periodic effects: Square, Triangle, Sine, 
        [00 00 00 00 00 00 00 00 00 00 03 07 01 00 00 00 ]
      * Number of simultaneous effects: 16
    
    Setting master gain to 75% ... OK
    Uploading effect #0 (Periodic sinusoidal) ... OK (id 0)
    Uploading effect #1 (Constant) ... Error: Invalid argument
    Uploading effect #2 (Spring) ... Error: Invalid argument
    Uploading effect #3 (Damper) ... Error: Invalid argument
    Uploading effect #4 (Strong rumble, with heavy motor) ... OK (id 1)
    Uploading effect #5 (Weak rumble, with light motor) ... OK (id 2)
    Enter effect number, -1 to exit
    

    Use os efeitos 4 e 5 para testar os efeitos de vibração:

    Enter effect number, -1 to exit
    4
    Now Playing: Strong Rumble
    Enter effect number, -1 to exit
    5
    Now Playing: Weak Rumble
    Enter effect number, -1 to exit
    
    • 9

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve