Recalbox Forum

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

    Bluetooth keyboard unusable

    Recalbox General
    bluetooth keyboard unusable
    2
    25
    9218
    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.
    • Dragu
      Dragu Banned last edited by Dragu

      @Substring
      I will proceed. What I found also, in /share/system/bluetooth there was a changed file bluetooth.tar. May it be that he unpack this to the SD-Card and overwrite older version ?
      https://file.ac/Tg0VdgvZqgc/

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

        @dragu this .tar holds paired bt devices. It's untar-ed to /var/lib/bluetooth, which is a tmpfs in RAM. Nothing is written to the sd

        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
        • Dragu
          Dragu Banned last edited by Dragu

          @Substring
          What I forgot to say, if I configurate the Bluetooth keyboard in the popup menu, and on OK press A, he exit the menu and save configuration in es_input.cfg at the end. But at first touch of key he ask to reconfigurate again. So every keytouch brings inevitable up the configuration popup menu, if you execute it or if you interrupt with hotkey, no matter. If there is some img cache on the sd, I could understand. What I will make now is put again 4.1 from march with etcher on the card, I will inform you.

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

            @dragu your SSD is haunted 😮

            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
            • Substring
              Substring last edited by

              So, your keyboard is not listed as a pad, so probably it has some device id or i don't know what that makes ES believe it's not the keyboard that is already configured in ES to prevent such behaviour and leave a "one last chance" way to control ES.

              Your support shows only 1 keyboard configured in ES ... D**n ... I don't want to look into ES code 😞

              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
              • Dragu
                Dragu Banned last edited by

                @Substring
                I was just reformatting my march sd card and burned again clean march version 4.1 on it, 4 lines to change for sound and ok. So, I first again started with internal space, as it is a fresh system. No problems with pairing and after the keyboard is functioning normally as before. When now I use SSD Disk Intenso as medium, call up Bluetooth selection, first delete all existing, after pairing again. Vlan, la vache a déf....
                So, the problem comes with no doubt from the /share space. I already tried to overwrite with my backup. es_input,cfg es_settings.efg, no prob. But some files (87) he refuse to overwrite. (Write protection) So if there is a possibility to overwrite everything. Perhaps unplug and outside recalbox ?

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

                  @dragu which files are "read-only" ? are they in us (lsof) ?

                  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
                  • Dragu
                    Dragu Banned last edited by Dragu

                    @Substring
                    Problem resolved ! But there is a lag in ES somewhere.
                    What I did ?
                    I deleted the keyboard section from my saved es_input.cfg and copy es_input.cfg to the /share folder.
                    And oh wonder, he found new device "1byone Keyboard" and configurated correctly.
                    I downloaded the file again from recalbox and put back the deleted "Keyboard" lines at the beginning of es_input.cfg and loaded it up again.
                    Bingo.

                    <?xml version="1.0"?>
                    <inputList>
                    <inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1">
                    		<input name="a" type="key" id="115" value="1" />
                    		<input name="b" type="key" id="97" value="1" />
                    		<input name="down" type="key" id="1073741905" value="1" />
                    		<input name="left" type="key" id="1073741904" value="1" />
                    		<input name="pagedown" type="key" id="1073741902" value="1" />
                    		<input name="pageup" type="key" id="1073741899" value="1" />
                    		<input name="right" type="key" id="1073741903" value="1" />
                    		<input name="select" type="key" id="32" value="1" />
                    		<input name="start" type="key" id="13" value="1" />
                    		<input name="up" type="key" id="1073741906" value="1" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="GPIO Controller 1" deviceGUID="15000000010000000100000000010000">
                    		<input name="a" type="button" id="1" value="1" />
                    		<input name="b" type="button" id="0" value="1" />
                    		<input name="hotkey" type="button" id="6" value="1" />
                    		<input name="pagedown" type="button" id="5" value="1" />
                    		<input name="pageup" type="button" id="4" value="1" />
                    		<input name="select" type="button" id="6" value="1" />
                    		<input name="start" type="button" id="7" value="1" />
                    		<input name="x" type="button" id="2" value="1" />
                    		<input name="y" type="button" id="3" value="1" />
                    		<input name="down" type="axis" id="1" value="1" />
                    		<input name="left" type="axis" id="0" value="-1" />
                    		<input name="right" type="axis" id="0" value="1" />
                    		<input name="up" type="axis" id="1" value="-1" />
                    	</inputConfig>
                    	..............................................................
                    ....................................
                    	<inputConfig type="joystick" deviceName="USB gamepad           " deviceGUID="030000001f08000001e4000010010000">
                    		<input name="a" type="button" id="1" value="1" code="289" />
                    		<input name="b" type="button" id="2" value="1" code="290" />
                    		<input name="down" type="axis" id="1" value="1" code="1" />
                    		<input name="hotkey" type="button" id="8" value="1" code="296" />
                    		<input name="left" type="axis" id="0" value="-1" code="0" />
                    		<input name="pagedown" type="button" id="5" value="1" code="293" />
                    		<input name="pageup" type="button" id="4" value="1" code="292" />
                    		<input name="right" type="axis" id="0" value="1" code="0" />
                    		<input name="select" type="button" id="8" value="1" code="296" />
                    		<input name="start" type="button" id="9" value="1" code="297" />
                    		<input name="up" type="axis" id="1" value="-1" code="1" />
                    		<input name="x" type="button" id="0" value="1" code="288" />
                    		<input name="y" type="button" id="3" value="1" code="291" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="ipega Bluetooth Gamepad   " deviceGUID="0500000049190000020400001b010000">
                    		<input name="a" type="button" id="174" value="1" code="305" />
                    		<input name="b" type="button" id="173" value="1" code="304" />
                    		<input name="down" type="hat" id="0" value="4" code="16" />
                    		<input name="hotkey" type="button" id="183" value="1" code="314" />
                    		<input name="joystick1left" type="axis" id="0" value="-1" code="0" />
                    		<input name="joystick1up" type="axis" id="1" value="-1" code="1" />
                    		<input name="joystick2left" type="axis" id="2" value="-1" code="2" />
                    		<input name="joystick2up" type="axis" id="3" value="-1" code="5" />
                    		<input name="l2" type="button" id="181" value="1" code="312" />
                    		<input name="left" type="hat" id="0" value="8" code="16" />
                    		<input name="pagedown" type="button" id="180" value="1" code="311" />
                    		<input name="pageup" type="button" id="179" value="1" code="310" />
                    		<input name="r2" type="button" id="182" value="1" code="313" />
                    		<input name="right" type="hat" id="0" value="2" code="16" />
                    		<input name="select" type="button" id="183" value="1" code="314" />
                    		<input name="start" type="button" id="184" value="1" code="315" />
                    		<input name="up" type="hat" id="0" value="1" code="16" />
                    		<input name="x" type="button" id="177" value="1" code="308" />
                    		<input name="y" type="button" id="176" value="1" code="307" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="Usb Gamepad" deviceGUID="03000000c01100000055000011010000">
                    		<input name="a" type="button" id="1" value="1" code="305" />
                    		<input name="b" type="button" id="0" value="1" code="304" />
                    		<input name="down" type="hat" id="0" value="4" code="16" />
                    		<input name="hotkey" type="button" id="12" value="1" code="316" />
                    		<input name="joystick1left" type="axis" id="0" value="-1" code="0" />
                    		<input name="joystick1up" type="axis" id="1" value="-1" code="1" />
                    		<input name="joystick2left" type="axis" id="2" value="-1" code="2" />
                    		<input name="joystick2up" type="axis" id="3" value="-1" code="5" />
                    		<input name="l2" type="button" id="6" value="1" code="310" />
                    		<input name="l3" type="button" id="10" value="1" code="314" />
                    		<input name="left" type="hat" id="0" value="8" code="16" />
                    		<input name="pagedown" type="button" id="5" value="1" code="309" />
                    		<input name="pageup" type="button" id="4" value="1" code="308" />
                    		<input name="r2" type="button" id="7" value="1" code="311" />
                    		<input name="r3" type="button" id="11" value="1" code="315" />
                    		<input name="right" type="hat" id="0" value="2" code="16" />
                    		<input name="select" type="button" id="8" value="1" code="312" />
                    		<input name="start" type="button" id="9" value="1" code="313" />
                    		<input name="up" type="hat" id="0" value="1" code="16" />
                    		<input name="x" type="button" id="3" value="1" code="307" />
                    		<input name="y" type="button" id="2" value="1" code="306" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="Ultimarc IPAC 2 Ultimarc IPAC 2" deviceGUID="0300000009d200002004000011010000">
                    		<input name="a" type="button" id="2" value="1" code="306" />
                    		<input name="b" type="button" id="1" value="1" code="305" />
                    		<input name="down" type="hat" id="0" value="4" code="16" />
                    		<input name="hotkey" type="button" id="10" value="1" code="314" />
                    		<input name="l2" type="button" id="6" value="1" code="310" />
                    		<input name="left" type="hat" id="0" value="8" code="16" />
                    		<input name="pagedown" type="button" id="5" value="1" code="309" />
                    		<input name="pageup" type="button" id="4" value="1" code="308" />
                    		<input name="r2" type="button" id="7" value="1" code="311" />
                    		<input name="right" type="hat" id="0" value="2" code="16" />
                    		<input name="select" type="button" id="9" value="1" code="313" />
                    		<input name="start" type="button" id="8" value="1" code="312" />
                    		<input name="up" type="hat" id="0" value="1" code="16" />
                    		<input name="x" type="button" id="0" value="1" code="304" />
                    		<input name="y" type="button" id="3" value="1" code="307" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="ELAN TURBO PAD" deviceGUID="03000000341a00000302000010010000">
                    		<input name="a" type="button" id="2" value="1" code="306" />
                    		<input name="b" type="button" id="1" value="1" code="305" />
                    		<input name="down" type="hat" id="0" value="4" code="16" />
                    		<input name="hotkey" type="button" id="12" value="1" code="316" />
                    		<input name="joystick1left" type="axis" id="0" value="-1" code="0" />
                    		<input name="joystick1up" type="axis" id="1" value="-1" code="1" />
                    		<input name="joystick2left" type="axis" id="2" value="-1" code="2" />
                    		<input name="joystick2up" type="axis" id="3" value="-1" code="5" />
                    		<input name="l2" type="button" id="6" value="1" code="310" />
                    		<input name="l3" type="button" id="10" value="1" code="314" />
                    		<input name="left" type="hat" id="0" value="8" code="16" />
                    		<input name="pagedown" type="button" id="5" value="1" code="309" />
                    		<input name="pageup" type="button" id="4" value="1" code="308" />
                    		<input name="r2" type="button" id="7" value="1" code="311" />
                    		<input name="r3" type="button" id="11" value="1" code="315" />
                    		<input name="right" type="hat" id="0" value="2" code="16" />
                    		<input name="select" type="button" id="8" value="1" code="312" />
                    		<input name="start" type="button" id="9" value="1" code="313" />
                    		<input name="up" type="hat" id="0" value="1" code="16" />
                    		<input name="x" type="button" id="3" value="1" code="307" />
                    		<input name="y" type="button" id="0" value="1" code="304" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="DragonRise Inc.   Generic   USB  Joystick  " deviceGUID="03000000790000000600000010010000">
                    		<input name="a" type="button" id="4" value="1" code="292" />
                    		<input name="b" type="button" id="3" value="1" code="291" />
                    		<input name="down" type="axis" id="3" value="1" code="3" />
                    		<input name="hotkey" type="button" id="8" value="1" code="296" />
                    		<input name="left" type="axis" id="0" value="-1" code="0" />
                    		<input name="pagedown" type="button" id="5" value="1" code="293" />
                    		<input name="pageup" type="button" id="2" value="1" code="290" />
                    		<input name="right" type="axis" id="0" value="1" code="0" />
                    		<input name="select" type="button" id="10" value="1" code="298" />
                    		<input name="start" type="button" id="9" value="1" code="297" />
                    		<input name="up" type="axis" id="3" value="-1" code="3" />
                    		<input name="x" type="button" id="1" value="1" code="289" />
                    		<input name="y" type="button" id="0" value="1" code="288" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="Microsoft X-Box 360 pad" deviceGUID="030000005e0400008e02000010010000">
                    		<input name="a" type="button" id="1" value="1" code="305" />
                    		<input name="b" type="button" id="0" value="1" code="304" />
                    		<input name="down" type="axis" id="1" value="1" code="1" />
                    		<input name="hotkey" type="button" id="12" value="1" code="318" />
                    		<input name="l2" type="button" id="6" value="1" code="312" />
                    		<input name="left" type="axis" id="0" value="-1" code="0" />
                    		<input name="pagedown" type="button" id="5" value="1" code="311" />
                    		<input name="pageup" type="button" id="4" value="1" code="310" />
                    		<input name="r2" type="button" id="7" value="1" code="313" />
                    		<input name="right" type="axis" id="0" value="1" code="0" />
                    		<input name="select" type="button" id="8" value="1" code="314" />
                    		<input name="start" type="button" id="9" value="1" code="315" />
                    		<input name="up" type="axis" id="1" value="-1" code="1" />
                    		<input name="x" type="button" id="3" value="1" code="308" />
                    		<input name="y" type="button" id="2" value="1" code="307" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="Gasia Co.,Ltd PS(R) Gamepad" deviceGUID="030000008f0e00000800000010010000">
                    		<input name="a" type="button" id="1" value="1" code="289" />
                    		<input name="b" type="button" id="2" value="1" code="290" />
                    		<input name="down" type="axis" id="1" value="1" code="1" />
                    		<input name="hotkey" type="button" id="11" value="1" code="299" />
                    		<input name="l2" type="button" id="6" value="1" code="294" />
                    		<input name="left" type="axis" id="0" value="-1" code="0" />
                    		<input name="pagedown" type="button" id="5" value="1" code="293" />
                    		<input name="pageup" type="button" id="4" value="1" code="292" />
                    		<input name="r2" type="button" id="7" value="1" code="295" />
                    		<input name="right" type="axis" id="0" value="1" code="0" />
                    		<input name="select" type="button" id="8" value="1" code="296" />
                    		<input name="start" type="button" id="9" value="1" code="297" />
                    		<input name="up" type="axis" id="1" value="-1" code="1" />
                    		<input name="x" type="button" id="0" value="1" code="288" />
                    		<input name="y" type="button" id="3" value="1" code="291" />
                    	</inputConfig>
                    	<inputConfig type="joystick" deviceName="1byone Keyboard" deviceGUID="05000000e8040000217000001b010000">
                    		<input name="a" type="button" id="29" value="1" code="30" />
                    		<input name="b" type="button" id="47" value="1" code="48" />
                    		<input name="down" type="button" id="105" value="1" code="108" />
                    		<input name="hotkey" type="button" id="45" value="1" code="46" />
                    		<input name="left" type="button" id="102" value="1" code="105" />
                    		<input name="right" type="button" id="103" value="1" code="106" />
                    		<input name="select" type="button" id="56" value="1" code="57" />
                    		<input name="start" type="button" id="27" value="1" code="28" />
                    		<input name="up" type="button" id="100" value="1" code="103" />
                    		<input name="x" type="button" id="44" value="1" code="45" />
                    		<input name="y" type="button" id="43" value="1" code="44" />
                    	</inputConfig>
                    </inputList>
                    

                    Thanks for your help in this stressfull times. 🙂

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

                      @dragu I do not understand the difference with what I suggested in https://forum.recalbox.com/post/70701

                      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
                      • Dragu
                        Dragu Banned last edited by Dragu

                        Hi,
                        do you work in administration or in private business? I was making IT for over 20 years in early times.
                        You suggested to replace es_input.cfg by es_input.cfg from /share_init, what I did at this moment. But in the share_init file, there is already a keyboard section inside, so it cannot resolve the problem. Only delete from this section make him search correctly for bluetooth keyboard, even as he define it as "Joystick". So deleting is only solution.

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

                          @Substring
                          Small aftermath. The 1byone keyboard was in the definition above very choppy, so I edit the file, replacing "joystick" by "keyboard" and also all the lines with key instead button from fix keyboard, now working perfect again.

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

                            I do work in IT 😉 I've done almost any job regarding IT 🙂

                            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
                            • Substring
                              Substring @Dragu last edited by

                              @dragu d**n i found the bug ! My bad : the code that creates udev rules for 8bitdo pads was triggered for ANY bt device !

                              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 2
                              • Dragu
                                Dragu Banned last edited by Dragu

                                @Substring
                                Congrat ! And it was new code from march version up, or also before inside ?
                                Anyway, till bugfix with manual editing of es_input.cfg, the problem can be resolved. But great. 🙂

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

                                  @Substring
                                  There is one problem that I still have. Without the keyboard, he declare USB Dragonrise as controller 0 and 1. When I just switch on my keyboard, and the bluetooth connection was not lost, everything ok. But if I must pair the keyboard again (what will change nothing in es_input.cfg), he will declare my keyboard as controller 0, and the USB Dragonrise as controller 1 and 2.
                                  What makes that DOS games are not working anymore because in the Dosbox keymapper you have wrong id. Just for more info.

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

                                    @dragu We have no power on the pad ordering. In your case, you should remove the udev rule for your keyboard in /recalbox/share/system/udev/rules.d/99-8bitdo.rules which erronously forces your keyboard as a gamepad. The next update won't treat any BTdevice as a 8bitdo controller ... my bad 😕

                                    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
                                    • Dragu
                                      Dragu Banned last edited by

                                      @Substring
                                      It's gone, thanks. Normal, most software has to much lines 😉

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

                                      Want to support us ?

                                      66
                                      Online

                                      99.6k
                                      Users

                                      28.1k
                                      Topics

                                      187.1k
                                      Posts

                                      Copyright © 2021 recalbox.com