Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Claviers Multimedia

    Manettes/GPIO/Encodeurs
    claviers multimedia
    6
    24
    5749
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • glook
      glook last edited by glook

      sorry pour le double post, j'ai trop tardé pour éditer...

      alors udev, ça a l'air simple comme ça mais j'ai rien pigé ! lol !!!

      je fais un ptit cat /proc/bus/input/devices et je trouve mon clavier Youthink :

      I: Bus=0003 Vendor=0c45 Product=800a Version=0101
      N: Name="USB USB Device"
      P: Phys=usb-3f980000.usb-1.5/input1
      S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.1/0003:0C45:800A.0003/input/input2
      U: Uniq=
      H: Handlers=mouse0 event2
      B: PROP=0
      B: EV=17
      B: KEY=1f0000 0 0 0 0 0 0 0 0
      B: REL=103
      B: MSC=10

      un ptit evtest sur event2 et quand on actionne les triggers :

      Event: time 1528131461.590573, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
      Event: time 1528131461.590573, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0
      Event: time 1528131461.590573, -------------- SYN_REPORT ------------
      Event: time 1528131462.182659, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
      Event: time 1528131462.182659, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 1
      Event: time 1528131462.182659, -------------- SYN_REPORT ------------

      jusque là, ok !
      j'édite donc /etc/udev/hwdb.d/60-keyboard.hwdb pour y ajouter :

      evdev:input:b0003v0C45p800A*
      KEYBOARD_KEY_90001=pageup
      KEYBOARD_KEY_90002=pagedown

      enregistrement, suivi de :

      udevadm hwdb --update
      udevadm trigger /dev/input/event2

      et rien... lol !
      y'a moyen de verif ???

      GlOoK

      1 Reply Last reply Reply Quote 0
      • SodaChaud
        SodaChaud last edited by SodaChaud

        Pour l'utilité d'un clavier au sein de recalbox, on pourrait noter l'atari ST ? De mémoire pas mal de jeux ou de programmes l'utilisent. Mais ça date mes heures de gaming sur cette console...

        1 Reply Last reply Reply Quote 0
        • Dragu
          Dragu Banned last edited by

          @glook
          J'ai dans l'espace entre les pieds de mon bartop un clavier bluetooth 1byone de 5mm épaisseur avec accu et qui fonctionne très bien. Je l'utilise assez souvent, pour le dosbox keymapper il le faut. Il a un touchpad intégré qui aussi fonctionne sans problème, remplaçant la souris. C'est lui :
          https://www.amazon.fr/Clavier-Bluetooth-Touchpad-Tactile-Android/dp/B015CM1Y6Y/ref=sr_1_fkmr0_1?ie=UTF8&qid=1528150956&sr=8-1-fkmr0&keywords=1byone+clavier+gaming+azerty

          1 Reply Last reply Reply Quote 0
          • glook
            glook last edited by glook

            le clavier n'est vraiment pas un souci, je reformule, le challenge c'est :
            1 seul périph pour le jeu et Kodi dans son canapé !

            Alors c'est
            1- soit un pad (genre ps3 comme actuellement sur la RB de ma cop) mais Kodi au pad, bof...(voire les emul Amiga et AtariST), ça tout le monde le fait
            2- soit la soluce grand luxe, un pad Xbox One (en USB) ou Xbox 360 (sans fil) ou PS4 (en USB) avec un chatpad, à tester d'ailleurs !
            3- soit un ptit clavier multimedia permettant de jouer un peu, pas pire que le virtual gamepad et qui se sent à l'aise sur Kodi, l'objet de ce post

            je reviens sur udev, bah j'avais pigé ! j'ai juste oublié que ES charge les trucs au démarrage, fallait redémarrer, du coup j'en suis là :

            • Sous ES, les triggers fonctionnent une fois le clavier configuré : L et R interagissent avec la gamelist
            • Sous Kodi, bah ça fonctionne depuis le début
            • plus que RetroArch... rien à faire

            Je m'explique : les triggers L et R sont associés par défaut aux touches q et w (ce qui donne a et z sur un clavier azerty)
            Je reprends donc mon exemple udev, j'affecte à la touche BTN_LEFT la lettre a ou q, et BTN_RIGHT la lettre z ou w
            Reboot, ES les prends, je lance SNES et paf le chien, rien du tout, idem pour les boutons d'ailleurs
            et quand je vais dans retroarch pour remapper les L et R, il ne capte pas l'appui sur les boutons...

            des suggestions ou des expériences perso ???

            GlOoK

            1 Reply Last reply Reply Quote 0
            • Dragu
              Dragu Banned last edited by

              @glook
              Personellement je pense que l'on ne peut pas résonablement combiner les deux. La partie joystick est trashy, ainsi que le clavier. Tu n'a alors ni une console convenable ni un clavier qui mérite cet nom. Mon avis est qu'il vaut mieux séparer les deux.

              1 Reply Last reply Reply Quote 0
              • glook
                glook last edited by

                trouvé un autre mini clavier, avec les directions à gauche !
                text alternatif
                il ressemble très fort au youthink mais celui là c'est un Rii

                GlOoK

                1 Reply Last reply Reply Quote 0
                • glook
                  glook last edited by glook

                  bon bah, y'a pas foule pour donner un coup de main (pas la team, ils ont d'autres priorités)

                  Je fais quand même un retour d'expérience :

                  • Jouer avec ce type de clavier est parfaitement faisable, c'est assez souple et réactif ; au cours d'une soirée entre potes par exemple, j'ai même testé sur des jeux de plateforme
                  • le clavier génére un event de type "joystick" avec BTN_NORTH, BTN_EAST, BTN_LEFT etc mais il ne répond pas à evtest
                  • avec udev, comme abordé ci-dessus, j'ai réussi a affecter BTN_LEFT à pageup et BTN_RIGHT à pagedown, suffisant pour ES mais Retroarch s'en cogne royalement, c'est vraiment dommage
                  • affecter les touches par défaut de Retroarch fonctionne pour les boutons home, volumeup, volumedown et compose
                  • sdl2-jtest reconnait un truc mais pas un gamepad et ça plante quand on appuie sur n'importe quelle touche (unhandled event 768 771 769) même les triggers et le touchpad (unhandled event 1024)
                  • j'aurais bien aimé essayer avec xboxdrv mais il n'a plus d'utilité apparemment

                  wala

                  GlOoK

                  1 Reply Last reply Reply Quote 0
                  • glook
                    glook last edited by

                    Je continue mon monologue 😉

                    alors le clavier est aussi connu sous le nom de H9 (ecrit sur la boite)

                    suis toujours dubitatif parce qu' un cat /proc/usb/input/devices me renvoie 3 events :
                    1 clavier
                    1 souris
                    1 joystick :

                    I: Bus=0003 Vendor=0c45 Product=800a Version=0101
                    N: Name="USB USB Device"
                    P: Phys=usb-3f980000.usb-1.3/input3
                    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.3/0003:0C45:800A.0004/input/input2
                    U: Uniq=
                    H: Handlers=js0 event2
                    B: PROP=0
                    B: EV=1b
                    B: KEY=7fff0000 0 0 0 0 0 0 0 0 0
                    B: ABS=100 3063f
                    B: MSC=10

                    evtest sur le clavier : ok
                    evtest sur la souris : ok (dont les triggers qui m'interessent)
                    evtest sur le joystick : aucune réponse à l'appui sur les touches, le touchpad et les triggers

                    les events supportés sont :
                    Supported events:
                    Event type 0 (EV_SYN)
                    Event type 1 (EV_KEY)
                    Event code 304 (BTN_SOUTH)
                    Event code 305 (BTN_EAST)
                    Event code 306 (BTN_C)
                    Event code 307 (BTN_NORTH)
                    Event code 308 (BTN_WEST)
                    Event code 309 (BTN_Z)
                    Event code 310 (BTN_TL)
                    Event code 311 (BTN_TR)
                    Event code 312 (BTN_TL2)
                    Event code 313 (BTN_TR2)
                    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 0
                    Min 0
                    Max 255
                    Flat 15
                    Event code 1 (ABS_Y)
                    Value 0
                    Min 0
                    Max 255
                    Flat 15
                    Event code 2 (ABS_Z)
                    Value 0
                    Min 0
                    Max 255
                    Flat 15
                    Event code 3 (ABS_RX)
                    Value 0
                    Min 0
                    Max 255
                    Flat 15
                    Event code 4 (ABS_RY)
                    Value 0
                    Min 0
                    Max 255
                    Flat 15
                    Event code 5 (ABS_RZ)
                    Value 0
                    Min 0
                    Max 255
                    Flat 15
                    Event code 9 (ABS_GAS)
                    Value 0
                    Min 0
                    Max 255
                    Flat 15
                    Event code 10 (ABS_BRAKE)
                    Value 0
                    Min 0
                    Max 255
                    Flat 15
                    Event code 16 (ABS_HAT0X)
                    Value 0
                    Min -1
                    Max 1
                    Event code 17 (ABS_HAT0Y)
                    Value 0
                    Min -1
                    Max 1
                    Event code 40 (ABS_MISC)
                    Value 0
                    Min 0
                    Max 255
                    Flat 15
                    Event type 4 (EV_MSC)
                    Event code 4 (MSC_SCAN)

                    quelqu'un peut m'aider svp ???

                    GlOoK

                    Substring 1 Reply Last reply Reply Quote 0
                    • Substring
                      Substring @glook last edited by

                      @glook a mon avis tu as un switch pour basculer ton clavier en mode gamepad

                      Former dev - Please reply with @substring so that i am notified when you answer me
                      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                      1 Reply Last reply Reply Quote 1
                      • glook
                        glook last edited by glook

                        @substring
                        bah non mais, à force de creuser, je pense que le dongle est prévu pour plusieurs appareils, d'où les 3 devices keyboard, mouse et joystick...
                        le clavier n'envoie que sur keyboard et mouse

                        ça simplifie la tâche pour les autres chinoiseries du même genre :
                        https://www.amazon.de/Keyboard-Wireless-Multi-Media-Portable-Notebook/dp/B01LZWXFXV
                        https://www.amazon.fr/Rétroéclairé-SEGURO-Ergonomique-Rechargeable-Ordinateur/dp/B01M31KR9R
                        j'en ai trouvé d'autres sur ebay, aliexpress etc...

                        Si je résume :

                        • On a un clavier avec des touches de direction a gauche, le bouton OK renvoie la même valeur que Enter (un ptit + sur ce clavier, la combinaison CTRL + ALT + Suppr en faisant Fn + Enter) et des boutons VolumeUp VolumeDown Home et Compose à droite
                        • Avec udev hwdb, on arrive à affecter les boutons de souris L et R à d'autres "touches" tel que prévu dans cette liste et les triggers L et R seront reconnus sous ES
                        • Sous Retroarch : je sèche !
                          exemple : avec udev, j'affecte les touche q et w (qui sont les touches par défaut pour L et R sur un clavier) et bien, retoarch les ignore...
                          par contre, si on ne modifie rien, L et R ont le même effet que "annuler" dans les menus de Retroarch... zarbi !

                        si qqn a une idée pour renvoyer un autre code de touche quand on appuie sur L ou R, que Retroarch comprend, je prends !

                        GlOoK

                        Substring 1 Reply Last reply Reply Quote 0
                        • Substring
                          Substring @glook last edited by

                          @glook ben programme ton clavier dans es, tout simplement ! Pk vouloir le mettre en pad à tout prix ?

                          Former dev - Please reply with @substring so that i am notified when you answer me
                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                          glook 1 Reply Last reply Reply Quote 0
                          • glook
                            glook @Substring last edited by

                            @substring
                            bah c'est surtout pour utiliser les triggers , pour l'emulation SNES, le reste fonctionne

                            GlOoK

                            Substring 1 Reply Last reply Reply Quote 0
                            • Substring
                              Substring @glook last edited by

                              @glook ca devrait marcher sans pour autant tripatouiller les boutons, non ?

                              Former dev - Please reply with @substring so that i am notified when you answer me
                              Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                              1 Reply Last reply Reply Quote 0
                              • glook
                                glook last edited by

                                @substring
                                bah ouaip, ça devrait marcher... lol !

                                Sérieusement, le seul "problème" ce sont les boutons L et R

                                • aucune réponse dans ES, normal c'est des events souris...
                                  avec l'astuce d' @acris , on arrive à contourner avec udev hwdb
                                  au remapping, ES détecte les appuis sur les triggers

                                • par contre, Retroarch, rien à faire ! j'ai lu qq part qu'il fallait mettre le input_driver à sdl (sdl2 sur RB), ça répond plus du tout, idem en linuxraw
                                  le souci, c'est retroarch qui te met input_driver=udev et qui se fout des redirections udev

                                GlOoK

                                Substring 1 Reply Last reply Reply Quote 0
                                • Substring
                                  Substring @glook last edited by

                                  @glook si les boutons sont sur des.peripheriques différents (un bout clavier, un bout souris), c'est normal que ca ne marche pas. Ca n'a jamais été pensé pour des.peripheriques "composites"

                                  Former dev - Please reply with @substring so that i am notified when you answer me
                                  Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                  glook 1 Reply Last reply Reply Quote 0
                                  • glook
                                    glook @Substring last edited by

                                    @substring ouaip, on est d'accord mais c'est frustrant de voir que ça fonctionne sur ES et pas sur Retroarch

                                    autre truc spaaaace, sur le même périphérique "clavier", Retroarch ne reconnait pas l'appui sur les touches volumeup, volumedown et homepage...

                                    GlOoK

                                    Substring 1 Reply Last reply Reply Quote 0
                                    • Substring
                                      Substring @glook last edited by

                                      @glook si tu lis le reroarch.cfg du github de retroarch, tu verras la liste des touches autorisées pour l'émulation

                                      Former dev - Please reply with @substring so that i am notified when you answer me
                                      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                      glook 1 Reply Last reply Reply Quote 0
                                      • glook
                                        glook @Substring last edited by

                                        @substring
                                        Dommage pour le binding udev non géré par RA car second périphérique,
                                        je vais réaffecter les autres boutons à des trucs connus par RA
                                        merki subs !

                                        GlOoK

                                        1 Reply Last reply Reply Quote 0
                                        • glook
                                          glook last edited by glook

                                          Juste pour voir, j'ai forcé ENV{ID_INPUT_JOYSTICK}="1" dans un fichier .rules de udev

                                          SUBSYSTEM=="input", ATTRS{name}=="USB USB Device", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"

                                          bah, ES me détecte 4 manettes (les 3 du clavier forcé et la Ps3), un ptit tour sous RA et les triggers repondent ! (pas correctement et ça fout le bazar dans le pad ps3 aussi, donc plus d'accés au menu de RA) mais quand je clique dessus, ça répond.

                                          Autre essai foireux :
                                          un cat /proc/bus/input/devices me renvoie ça :
                                          I: Bus=0003 Vendor=0c45 Product=800a Version=0101
                                          N: Name="USB USB Device"
                                          P: Phys=usb-3f980000.usb-1.3/input3
                                          S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.3/0003:0C45:800A.0005/input/input3
                                          U: Uniq=
                                          H: Handlers=js1 event3
                                          B: PROP=0
                                          B: EV=1b
                                          B: KEY=7ffc0000 0 0 0 0 0 2100 0 0 0
                                          B: ABS=100 3063f
                                          B: MSC=10

                                          sdl-jstest ne le reconnait pas

                                          sdl2-jstest -e 0 renvoie ça :
                                          Joystick Name: 'USB USB Device'
                                          Joystick Path: '/dev/input/event3'
                                          Joystick GUID: 03000000450c00000a80000001010000
                                          Joystick Number: 0
                                          Number of Axes: 8
                                          Number of Buttons: 15
                                          Number of Hats: 1
                                          Number of B***s: 0
                                          GameController:
                                          not a gamepad
                                          Axis code 0: 0
                                          Axis code 1: 1
                                          Axis code 2: 2
                                          Axis code 3: 3
                                          Axis code 4: 4
                                          Axis code 5: 5
                                          Axis code 6: 9
                                          Axis code 7: 10
                                          Button code 0: 104
                                          Button code 1: 109
                                          Button code 2: 306
                                          Button code 3: 307
                                          Button code 4: 308
                                          Button code 5: 309
                                          Button code 6: 310
                                          Button code 7: 311
                                          Button code 8: 312
                                          Button code 9: 313
                                          Button code 10: 314
                                          Button code 11: 315
                                          Button code 12: 316
                                          Button code 13: 317
                                          Button code 14: 318
                                          Hat code 0: 16

                                          Entering joystick test loop, press Ctrl-c to exit
                                          SDL_JOYDEVICEADDED which:0
                                          SDL_JOYDEVICEADDED which:1
                                          SDL_JOYAXISMOTION: joystick: 0 axis: 0 value: -32768 code: 0
                                          SDL_JOYAXISMOTION: joystick: 0 axis: 1 value: -32768 code: 1
                                          SDL_JOYAXISMOTION: joystick: 0 axis: 2 value: -32768 code: 2
                                          SDL_JOYAXISMOTION: joystick: 0 axis: 3 value: -32768 code: 3
                                          SDL_JOYAXISMOTION: joystick: 0 axis: 4 value: -32768 code: 4
                                          SDL_JOYAXISMOTION: joystick: 0 axis: 5 value: -32768 code: 5
                                          SDL_JOYAXISMOTION: joystick: 0 axis: 6 value: -32768 code: 9
                                          SDL_JOYAXISMOTION: joystick: 0 axis: 7 value: -32768 code: 10
                                          Error: Unhandled event type: 768
                                          Error: Unhandled event type: 769
                                          Error: Unhandled event type: 768
                                          Error: Unhandled event type: 769
                                          Error: Unhandled event type: 768
                                          Error: Unhandled event type: 769
                                          Error: Unhandled event type: 768
                                          Error: Unhandled event type: 769
                                          Error: Unhandled event type: 768
                                          Error: Unhandled event type: 769
                                          Error: Unhandled event type: 768
                                          Error: Unhandled event type: 769

                                          Aucune réaction malheureusement dans RA 😞

                                          GlOoK

                                          Substring 1 Reply Last reply Reply Quote 0
                                          • Substring
                                            Substring @glook last edited by

                                            @glook ra limite la plage des valeurs d'event gerables, ainsi que le.nb de boutons possibles. Particularité recalbox : cette partie de Ra est patchée, au même titre que son pendant sous SDL2

                                            Former dev - Please reply with @substring so that i am notified when you answer me
                                            Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            79
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com