1.5 inch tft screen for Pi - omartek/linux_variePerLaboratorio GitHub Wiki
Guide installazione dal sito del produttore
https://Spotpear.com/index.php/index/study/detail/id/65.html
RetroArch configuration instruction
https://www.youtube.com/watch?v=rPomag2lf4M
Installazione ed utilizzo di Makecode arcade
https://retropie.org.uk/forum/topic/28719/makecode-arcade-games-in-retropie
Installare theme tft
https://github.com/anthonycaccese/es-theme-tft
Altra documentazione
https://github.com/omartek/linux_variePerLaboratorio/tree/master/wiki/retropie
Configurazione controller
# Button mapping config
# Uses two inputs per controller, to map and convert from EV_ABS to EV_KEY in both directions
config = {
# EV_ABS to EV_KEY mappings for 1st direction of controller 1
(0, EV_ABS): {
# X-axis initially towards less than/negative of center(normally left)
ABS_X: {
'type': (3, EV_KEY),
'code': 0, # Output key 'a'
'value': 1
# lambda calls function with joystick value dependent on if axis is inverted or not
},
# Y-axis initially towards less than/negative of center(normally up)
ABS_Y: {
'type': (3, EV_KEY),
'code': 1, # Output key 'w'
'value': -1
# lambda calls function with joystick value dependent on if axis is inverted or not
},
ABS_HAT0X: {
# HAT0X-axis initially towards greater than/positive of center(normally right)
'type': (0, EV_KEY),
'code': 32, # etc.
'value': hat0Pos1 # Joystick value variable x is implied for function hat0Pos
},
# HAT0Y-axis initially towards greater than/positive of center(normally down)
ABS_HAT0Y: {
'type': (0, EV_KEY),
'code': 31,
'value': hat0Pos1
}
},
# EV_ABS to EV_KEY mappings for 2nd direction of controller 1
(1, EV_ABS): {
# X-axis initially towards greater than/positive of center(normally right)
ABS_X: {
'type': (0, EV_KEY),
'code': 32,
'value': lambda x: digitizePos1(x) if not invertXLEFT1 else digitizeNeg1(x)
},
# Y-axis initially towards greater than/positive of center(normally down)
ABS_Y: {
'type': (0, EV_KEY),
'code': 31,
'value': lambda y: digitizePos1(y) if not invertYUP1 else digitizeNeg1(y)
},
# HAT0X-axis initially towards less than/negative of center(normally left)
ABS_HAT0X: {
'type': (0, EV_KEY),
'code': 30,
'value': hat0Neg1
},
# HAT0Y-axis initially towards less than/negative of center(normally up)
ABS_HAT0Y: {
'type': (0, EV_KEY),
'code': 17,
'value': hat0Neg1
},
# Start button conversion for some controllers without start button
ABS_Z: {
'type': (0, EV_KEY),
'code': 1,
'value': hat0Pos1
},
# Select button conversion for some controllers without select button
ABS_RZ: {
'type': (0, EV_KEY),
'code': 59,
'value': hat0Pos1
}
},
# First EV_KEY to EV_KEY mappings for controller 1
(0, EV_KEY): {
BTN_DPAD_UP: {
'type': (0, EV_KEY),
'code': 17,
'value': None
},
BTN_DPAD_DOWN: {
'type': (0, EV_KEY),
'code': 31,
'value': None
},
BTN_DPAD_LEFT: {
'type': (0, EV_KEY),
'code': 30,
'value': None
},
BTN_DPAD_RIGHT: {
'type': (0, EV_KEY),
'code': 32,
'value': None
},
BTN_SOUTH: { # (BTN_A synonym)
'type': (1, EV_KEY),
'code': 304,
'value': 1
},
BTN_B: {
'type': (1, EV_KEY),
'code': 305,
'value': 1
},
BTN_START: {
'type': (1, EV_KEY),
'code': 314,
'value': 1
},
BTN_SELECT: {
'type': (1, EV_KEY),
'code': 315,
'value': 1
},
BTN_MODE: {
'type': (0, EV_KEY),
'code': 60,
'value': None
}
},
# Second EV_KEY to EV_KEY mappings for controller 1
(1, EV_KEY): {
BTN_THUMB: {
'type': (0, EV_KEY),
'code': 29,
'value': None
},
BTN_THUMB2: {
'type': (0, EV_KEY),
'code': 42,
'value': None
},
BTN_BASE4: {
'type': (0, EV_KEY),
'code': 1,
'value': None
},
BTN_BASE3: {
'type': (0, EV_KEY),
'code': 59,
'value': None
},
KEY_HOMEPAGE: {
'type': (0, EV_KEY),
'code': 60,
'value': None
}
},
# Maps keyboard player 2 to WASD keys
(2, EV_KEY): {
KEY_A: {
'type': (0, EV_KEY),
'code': 105,
'value': None
},
KEY_D: {
'type': (0, EV_KEY),
'code': 106,
'value': None
},
KEY_W: {
'type': (0, EV_KEY),
'code': 103,
'value': None
},
KEY_S: {
'type': (0, EV_KEY),
'code': 108,
'value': None
},
KEY_LEFTCTRL: {
'type': (0, EV_KEY),
'code': 100,
'value': None
},
KEY_LEFTSHIFT: {
'type': (0, EV_KEY),
'code': 57,
'value': None
},
KEY_ESC: {
'type': (0, EV_KEY),
'code': 1,
'value': None
},
KEY_F1: {
'type': (0, EV_KEY),
'code': 59,
'value': None
},
KEY_F2: {
'type': (0, EV_KEY),
'code': 60,
'value': None
}
}
}