Я получил эту идею от использования контроллера mate на osx...
Сопоставить оба в одном конфиге. Вы можете изменить отображение клавиатуры, чтобы они не имели одинакового нажатия клавиш, или вы можете изменить тип входа на вход класса HID, который поддерживает ваша система. В любом случае, если у вас несколько конфигураций, будет использоваться только одна. Проверьте, включен ли js1, если нет, используйте конфигурацию 1 только с js0, в противном случае используйте конфигурацию с обоими отображениями.
Section "InputClass"
Identifier "Joystick 1 mapping"
Option "device" "/dev/input/js0"
Option "path" "/dev/input/js0"
Option "StartKeyEnabled" "False"
Option "StartMouseEnabled" "False"
#MatchIsJoystick on
#Option "MapAxis1" "keylow=113 keyhigh=114"
#Option "MapAxis2" "keylow=111 keyhigh=116"
Option "MapButton1" "key=52"
Option "MapButton2" "key=53"
Option "MapButton3" "key=38"
Option "MapButton4" "key=39"
Option "MapButton5" "key=40"
Option "MapButton6" "key=54"
Option "MapButton7" "key=14"
Option "MapButton8" "key=10"
Identifier "Joystick 2 mapping"
Option "device" "/dev/input/js1"
Option "path" "/dev/input/js1"
Option "StartKeyEnabled" "False"
Option "StartMouseEnabled" "False"
#MatchIsJoystick on
#Option "MapAxis1" "keylow=113 keyhigh=114"
#Option "MapAxis2" "keylow=111 keyhigh=116"
Option "MapButton1" "key=52"
Option "MapButton2" "key=53"
Option "MapButton3" "key=38"
Option "MapButton4" "key=39"
Option "MapButton5" "key=40"
Option "MapButton6" "key=54"
Option "MapButton7" "key=14"
Option "MapButton8" "key=10"
EndSection
это также можно сделать с помощьюjtc
в одной строке:
bash $ cat xyz.json | jtc -w'<vc00_02204.png>[-1][annotations]' -eu jtc -w'<vc00_02201.png>[-1][annotations]' xyz.json \;
[
{
"annotations": [
"a",
"b",
"c"
],
"class": "image",
"filename": "vc00_02201.png"
},
{
"annotations": [],
"class": "image",
"filename": "vc00_02202.png"
},
{
"annotations": [],
"class": "image",
"filename": "vc00_02203.png"
},
{
"annotations": [
"a",
"b",
"c"
],
"class": "image",
"filename": "vc00_02204.png"
}
]
bash $
Конечно, это можно было сделать с помощью прямой ссылки на элементы массива, например:
bash $ cat xyz.json | jtc -w'[3][annotations]' -eu jtc -w'[0][annotations]' xyz.json \;
, но тогда вся точка пересечения -ссылок по имени файла будет спорной.