Bluetooth keyboard unusable
-
@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
-
@dragu d**n i found the bug ! My bad : the code that creates udev rules for 8bitdo pads was triggered for ANY bt device !
-
@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. -
@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. -
@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 -
@Substring
It's gone, thanks. Normal, most software has to much lines