Bluetooth keyboard unusable
-
First, I fell that bluetooth in general is functioning more accurate, also with pairing, but it is not the issue.
Issue is that if I pair my bluetooth keyboard, and go out from the ES controller menu, than, first time I touch a key, he brings up screen where he tells 3 gamepads recognized (I have 2 dragonrise) and he want absolutely to configurate my keyboard as controller.
ESC will not stop him. I was never in between in the controller configuration menu.
Now more strange, if I go out with Hotkey, and first time I touch the direction keys on the paired keyboard, ES menu runs as crazy through all ROMS and GAME emulators, at horrible speed. Nobody will stop it apart reboot.I think, the error is that he brings up configuration menu without havin asked for it.
-
I found a reason, because after 4.1 stable, keyboard also not working anymore in march 4.1 unstable. It could just be in the shared files, because they stay on my SSD drive. (And for sure I have copy before inserting the new system)
What happens ?
Very simple, with the erratic behavior with keyboard in 4.1 stable, he write inside the file es_input.cfg following lines<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>
This was at the beginning of es_input.cfg
But better, at the end he put even more<inputConfig type="joystick" deviceName="Microsoft X-Box 360 pad" deviceGUID="030000005e0400008e02000014010000"> <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="10" 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="3" /> <input name="joystick2up" type="axis" id="3" value="-1" code="4" /> <input name="l2" type="button" id="6" value="1" code="312" /> <input name="l3" type="button" id="11" value="1" code="317" /> <input name="left" type="hat" id="0" value="8" code="16" /> <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="r3" type="button" id="12" value="1" code="318" /> <input name="right" type="hat" id="0" value="2" code="16" /> <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="hat" id="0" value="1" code="16" /> <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="Xbox 360 Wireless Receiver (XBOX)" deviceGUID="030000005e040000a102000007010000"> <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="button" id="16" value="1" code="707" /> <input name="hotkey" type="button" id="10" 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="3" /> <input name="joystick2up" type="axis" id="3" value="-1" code="4" /> <input name="l2" type="button" id="6" value="1" code="312" /> <input name="l3" type="button" id="11" value="1" code="317" /> <input name="left" type="button" id="13" value="1" code="704" /> <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="r3" type="button" id="12" value="1" code="318" /> <input name="right" type="button" id="14" value="1" code="705" /> <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="button" id="15" value="1" code="706" /> <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="Xbox 360 Wireless Receiver" deviceGUID="030000005e0400001907000000010000"> <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="button" id="14" value="1" code="707" /> <input name="hotkey" type="button" id="8" 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="3" value="-1" code="3" /> <input name="joystick2up" type="axis" id="4" value="-1" code="4" /> <input name="l2" type="axis" id="2" value="1" code="2" /> <input name="l3" type="button" id="9" value="1" code="317" /> <input name="left" type="button" id="11" value="1" code="704" /> <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="axis" id="5" value="1" code="5" /> <input name="r3" type="button" id="10" value="1" code="318" /> <input name="right" type="button" id="12" value="1" code="705" /> <input name="select" type="button" id="6" value="1" code="314" /> <input name="start" type="button" id="7" value="1" code="315" /> <input name="up" type="button" id="13" value="1" code="706" /> <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="keyboard" deviceName="Keyboard" deviceGUID="-1" /> </inputList>
And to make it sure, I was never entering the controller configuration menu point in 4.1 stable
? -
Update :
Now on march version 4.1 unstable I have the same problems with keyboard. Even after I copy back es_input.cfg from before.....
So other things in the shared directory is changed, for the bad. Some script ?
So, no bluetooth keyboard in 4.1 march anymore, he tell me in popup window that he has now find 3 Gamepad, and when I go out with Hotkey, the screen is shifting around in crazy speed (last touched direct. left/right on kb) , and I can stop him now with joystick left/right mouvement. This is really b.llsh.t.
I will now make a new backup after 4.1 stable get fingers inside /share and see where is the issue. -
I made a screenshot of the leftbehind in /Share, strange that thing
From the highspeed running ES, I would need video capture
-
@Substring
I was making a simple experience. On 4.1 unstable from march, I switched back in the ES system menu from my SSD Disk to INTERNAL. And after reboot, the keyboard is again functioning normally. After pairing, no ask for configuration of keyboard as gamepad (what is non-sense) So clearly the problem is coming from the /share directory modified on my SSD Disk by 4.1 stable. What I wanted to ask, if there are other directories from /Recalbox/ that has moved also, or you have an idea perhaps where to find the responsible file entry ? -
@dragu the es_input.cfg file is on the share aprtition, so it depends on your storage device (SD, USB). In your case, you should get it solved with your SSD plugged by:
/etc/init.d/S31emulationstation stop cp /recalbox/share_init/system/.emulationstation/es_input.cfg ~/.emulationstation reboot
That way you get a default es_input.cfg
PS: how many languages do you speak ? lol
-
@substring
about 4 1/3, but will never post in russian.Concerning my crazy keyboard, I made what you told and understandable, my configuration disappeared. Very normal. For the operation I had an USB keyboard connected. So, after this I paired again my bluetooth keyboard, pairing ok, and after, first touch of a key on it again brings up this d**ned popup screen.
As I told you that I have a backup of the SSD before 4.1 Stable test, I made already a copy (I am connected over Filezilla with Raspi) and overwrite the new created es_input.cfg with the old one. Also no cure. I have the feeling that the reason is somewhere else, but where ? -
@dragu keyboards are not supopsed to be listed because they don't have the joystick flag on their input device. Can you make a supoprt archive so that i check a few things ? Use the link from the webmanager, most hosting websites are forbidden at my job
Ja toze mogu govorit po russki xaxaxa
-
@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/ -
@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
-
@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. -
@dragu your SSD is haunted
-
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
-
@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 ? -
@dragu which files are "read-only" ? are they in us (
lsof
) ? -
@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.
-
@dragu I do not understand the difference with what I suggested in https://forum.recalbox.com/post/70701
-
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. -
@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. -
I do work in IT I've done almost any job regarding IT