Claviers Multimedia



  • Salut à tous, (un big-up aux dev pour notre distrib préférée !)

    J'ouvre ce post pour changer un peu des "troubleshooting", "ça marche pas" et autre ;) dans le but de partager un peu, si possible autour des mini-claviers multimedia et, pourquoi pas, trouver LE clavier zouli pas cher ultime...

    Totalement branché vintage, j'ai commis des projets plus ou moins délirants (Minitel Radiotechnique, Minitel Matra, valisettes inspirées par Love Hulten, Recalbook, mini Nes etc...) et je n'ouvrais quasiment jamais Kodi, sauf pour le gestionnaire de fichiers (quand je n'avais pas de clavier ni SSH à dispo).

    Bref, avec Recalbox et Kodi, l'intêret d'un mini clavier hybride, permettant le jeu et l'utilisation fun du media center est apparue. Un seul periph, ça serait cool !

    Je vous fais un retour d'expérience en espérant que d'autres posteront à leur tour, sinon ça sera juste de l'info ;)
    le but, c'est de voir ce qui fonctionne ou pas et voir si on peut jouer et naviguer, quitte à bricoler un peu pour que ça marche

    1er test : le clavier ANEWKODI ou T16 vendu chez Mama Zone à 17€
    un peu "cheap" mais rechargeable, acheté un peu à la hâte pour ma cop et sa recalbox sous boitier Epic

    • EmulationStation : Clavier reconnu comme clavier, par contre les triggers L et R ne repondent pas
    • RetroArch : idem
    • Kodi : Clavier et touchpad pour la partie souris
      Mauvais choix pour le jeu car les fleches de direction sont en haut à droite, les boutons multimedia à gauche et ces foutus triggers qui ne repondent pas
      3 events dans /dev/input

    2e test : le mini clavier Youthink, toujours chez Mama Zone à 14€ fdpo
    revêtement soft, moins cheap, mieux fini, l'éclairage est sympa, rechargeable aussi (autonomie à tester)

    • EmulationStation : Clavier reconnu comme clavier, par contre les triggers L et R ne repondent pas
    • RetroArch : les triggers renvoient au menu précèdent je n'ai pas encore reussi à les affecter à L1 R1
    • Kodi : tout fonctionne apparemment !
      La croix directionnelle est à gauche, comme sur un pad, pas de bouton central sur la droite, juste 4 boutons facilement affectables à ABXY

    wala pour le début...
    Maître Cissou m'a montré celui-ci, si quelqu'un l'a ça serait cool de faire un retour

    perso, je cherche un modèle avec des triggers et je séche la-dessus pour le moment...
    on n'a pas Xbindkeys sur Recalbox alors toute astuce qui permettrait de chopper l'event de ces boutons (apparemment associés au clic gauche et droit du touchpad) et renvoyer un event à Retroarch ou mieux à ES et RetroArch, est la bienvenue !

    a+


  • Moderator
    Team

    Bonjour
    recalbox n'est pas conçu pour jouer avec un clavier c'est à dire bouton reconnu comme bouton de clavier mais des boutons reconnus comme des vrais boutons de joysticks.

    peut être essayer une règle UDEVde pour faire reconnaitre le mode clavier comme joystick sinon passer par une custom config de chaque emulateur (voir le wiki)


  • Themer

    @glook mais tes triggers c'est pas pour les clicks de la souris ?

    après qui voudrait jouer avec ça ? les touches directionnelles (et les touches tout court) sont en général atroce sur ce genre de clavier



  • @acris bah oui mais le clavier vient naturellement au démarrage de recalbox (1ere utilisation) même si c'est juste pour configuer une manette sauf connexion par le RJ45 et l'interface ouaibe/ssh
    merci pour la piste udev, je vais chercher

    @voljega ouaip, les triggers ressemblent à des triggers mais c'est des boutons souris
    pour l'ergonomie, que dire... euhhhh, ça dépend du modèle : le anewkodi n'est pas jouable, le youthink a l'air plus souple et c'est pas pire que le gamepad virtuel ;)
    c'est sur que pour péter des scores, ça va pas le faire mais se faire une tite partie de Pinball Dreams à 5 ou 6, ça peut être utile



  • 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 ???



  • 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...



  • @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



  • 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
    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.



  • 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



  • 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



  • 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 ???


  • Moderator
    Team

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



  • @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 !


  • Moderator
    Team

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



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


  • Moderator
    Team

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



  • @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


  • Moderator
    Team

    @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"



  • @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...


Log in to reply
 

Want to support us ?

Join us on :

181
Online

27375
Users

14094
Topics

106887
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.