Touch overlay with both keyboard and arcade stick

What overlay would you recommend that has a switch between both PC keyboard and stick layouts? Tried retropad and, while it has a keyboard icon, touching it does nothing…

I don’t think there are any. Which core do you need it for? x68000?

I actually need it for mame cores (mame2014 speciffically). When playing Cave cv1000 shmups, for better accuracy, one needs to always modify two settings per game: blitter delay value (to around 60%) and underclock the CPU value (to around 30 - 40% depending on the game). This way you get very close to original PCBs game speed. Accessing this settings requires a virtual keyboard and, playing the game, an arcade joystick :slightly_smiling_face:

Do you need a full keyboard? or just a few keys? if just a few, I might be able to squeeze them into an existing overlay.

There are a few mandatory keys: TAB, Arrows (up,down,left,right) and Enter. I think these would do for accessing settings in the mame menu.

Could you work on this overlay? I rearranged this for both 6 buttons and 4 buttons landscape and also 4 buttons portrait, to be as non intrusive as possible :blush:

It would be perfect if the keys would be positioned in the 4 buttons portrait mode.

Can you try this one and tell me how it treats you?

I tried to get a little clever with it and make the overlay switch and bring up the tab menu together, but I’m not sure how well it’ll work. FAKEDIT: it occurs to me that we probably need to include an escape key, as well, right? To cancel out of options in the tab menu? ACTUALEDIT: I put in the wrong keycode for the ‘enter’ key, so I corrected that, added esc and then uploaded a new version.

Ok, so i tested the overlay :grinning: The tab, enter and esc buttons appear. More precisely, the portrait overlay defaults with the visible tab button on the very bottom, and after pressing it, enter and esc appear. But that’s all it does, as the mame menu does not appear. The buttons are there but have no function.

(no keboard arrows)

Thanks hunterk :hugs: Is there something onmy end that’s not right?

Am I right in saying you can sort this with combo to get at the tab. Then map you inputs within mame? Thats what i usually do to adjust settings. Not sure on the game settings above

probably not. I never actually tested it with MAME core, as I didn’t have any games on me at the time. I’ll try to figure out what’s up.

An elegant solution would be i think, a switch that turns the joystick and a couple of buttons (a, b) into the keyboard directions and tab + enter keys.

That would have to be a new overlay anyway, just with the added confusion of some buttons doing different stuff.

It seems it just straight-up doesn’t like having retrokeyboard events sharing the same action as anything else. The second function just gets swallowed… So, I made another version without any of that (I just removed the tab function from the other buttons and made a separate tab button). Can you give this one a try?

1 Like

Ok, so this new one is working perfectly :grinning:

The lower Tab button triggers the middle left true TAB key, and middle screen ENTER key. The TAB key activates mame menu as intended, and it can be navigated with the joystick’s directions and also the original overlay’s A button acts as ENTER :open_mouth: The added ENTER key is a dud. Not working and not necessary as the A button is working perfectly instead.

It’s great man. Thanks so much :hugs:

1 Like

Ok, I can nuke that spurious ‘enter’ key. Dunno why it doesn’t work, but as long as A works, I guess it doesn’t matter :slight_smile:

1 Like

Please please also rearrange the bottom Tab key (the round one) to be just a little higher placed, something like half a nail (from the little finger) :blush:

alright, here you go (just replace the cfg file with this one):

overlays = 7

overlay0_full_screen = true
overlay0_normalized = true
overlay0_name = "6-button-landscape"
overlay0_range_mod = 1.5
overlay0_alpha_mod = 1.0

overlay1_full_screen = true
overlay1_normalized = true
overlay1_name = "4-button-landscape"
overlay1_range_mod = 1.5
overlay1_alpha_mod = 1.0

overlay2_full_screen = true
overlay2_normalized = true
overlay2_name = "6-button-portrait"
overlay2_range_mod = 1.5
overlay2_alpha_mod = 1.0

overlay3_full_screen = true
overlay3_normalized = true
overlay3_name = "4-button-portrait"
overlay3_range_mod = 1.5
overlay3_alpha_mod = 1.0

overlay4_overlay = quickmenu.png
overlay4_name = "menu"
overlay4_full_screen = true

overlay5_overlay = next.png
overlay5_name = "hide"
overlay5_full_screen = true

overlay6_full_screen = true
overlay6_normalized = true
overlay6_name = "tab-menu"
overlay6_range_mod = 1.5
overlay6_alpha_mod = 1.0

overlay0_descs = 22
overlay0_desc0 = "left,0.04375,0.80208333333,radial,0.0525,0.0875"
overlay0_desc1 = "right,0.19375,0.80208333333,radial,0.0525,0.0875"
overlay0_desc2 = "up,0.11845,0.67708333333,radial,0.0525,0.0875"
overlay0_desc3 = "down,0.11845,0.92708333333,radial,0.0525,0.0875"
overlay0_desc4 = "start,0.9,0.05,radial,0.025,0.04166666666"
overlay0_desc4_overlay = start.png
overlay0_desc5 = "r,0.94550,0.79000,radial,0.05000,0.08889"
overlay0_desc5_overlay = button-blue.png
overlay0_desc6 = "b,0.94592,0.45600,radial,0.05000,0.08889"
overlay0_desc6_overlay = button-white.png
overlay0_desc7 = "a,0.86888,0.85000,radial,0.05000,0.08889"
overlay0_desc7_overlay = button-red.png
overlay0_desc8 = "l,0.94542,0.61926,radial,0.05000,0.08889"
overlay0_desc8_overlay = button-red.png
overlay0_desc9 = "y,0.79500,0.92074,radial,0.05000,0.08889"
overlay0_desc9_overlay = button-white.png
overlay0_desc10 = "x,0.86980,0.68886,radial,0.05000,0.08889"
overlay0_desc10_overlay = button-blue.png
overlay0_desc11 = "overlay_next,0.48,0.95833333333,radial,0.025,0.04166666667"
overlay0_desc11_overlay = next.png
overlay0_desc11_next_target = "menu"
overlay0_desc12 = "left|down,0.04375,0.9270833333333,radial,0.03125,0.0520833333333"
overlay0_desc13 = "right|up,0.19375,0.67708333333,radial,0.03125,0.0520833333333"
overlay0_desc14 = "up|left,0.04375,0.67708333333,radial,0.03125,0.0520833333333"
overlay0_desc15 = "down|right,0.19375,0.9270833333333,radial,0.03125,0.0520833333333"
overlay0_desc16 = "nul,0.11845,0.8021,radial,0.127575,0.212625"
overlay0_desc16_overlay = analog-background.png
overlay0_desc17 = "menu_toggle,0.5,0.05,radial,0.025,0.04166666666"
overlay0_desc17_overlay = rgui.png
overlay0_desc18 = "overlay_next,0.3,0.05,radial,0.025,0.04166666666"
overlay0_desc18_overlay = rotate.png
overlay0_desc18_next_target = "6-button-portrait"
overlay0_desc19 = "overlay_next,0.7,0.05,radial,0.025,0.04166666666"
overlay0_desc19_overlay = 4button.png
overlay0_desc19_next_target = "4-button-landscape"
overlay0_desc20 = "select,0.06,0.05,radial,0.025,0.04166666666"
overlay0_desc20_overlay = coin.png
overlay0_desc21 = "analog_left,0.11845,0.8021,radial,0.08,0.14"
overlay0_desc21_overlay = analog-stick.png
overlay0_desc21_pct = 0.75
overlay0_desc21_movable = false

overlay1_descs = 20
overlay1_desc0 = "left,0.04375,0.80208333333,radial,0.0525,0.0875"
overlay1_desc1 = "right,0.19375,0.80208333333,radial,0.0525,0.0875"
overlay1_desc2 = "up,0.11845,0.67708333333,radial,0.0525,0.0875"
overlay1_desc3 = "down,0.11845,0.92708333333,radial,0.0525,0.0875"
overlay1_desc4 = "start,0.9,0.05,radial,0.025,0.04166666666"
overlay1_desc4_overlay = start.png
overlay1_desc5 = "x,0.936,0.70800,radial,0.05000,0.08889"
overlay1_desc5_overlay = button-blue.png
overlay1_desc6 = "y,0.91400,0.853,radial,0.05000,0.08889"
overlay1_desc6_overlay = button-green.png
overlay1_desc7 = "a,0.7464,0.908,radial,0.05000,0.08889"
overlay1_desc7_overlay = button-yellow.png
overlay1_desc8 = "a|b|y,0.93058,0.52,radial,0.025,0.0417"
overlay1_desc8_overlay = next.png
overlay1_desc9 = "left|down,0.04375,0.9270833333333,radial,0.03125,0.0521"
overlay1_desc10 = "right|up,0.19375,0.67708333333,radial,0.03125,0.0521"
overlay1_desc11 = "up|left,0.04375,0.67708333333,radial,0.03125,0.0521"
overlay1_desc12 = "down|right,0.19375,0.9270833333333,radial,0.03125,0.0521"
overlay1_desc13 = "nul,0.11845,0.80208333333,rect,0.127575,0.212625"
overlay1_desc13_overlay = analog-background.png
overlay1_desc14 = "menu_toggle,0.5,0.05,radial,0.025,0.0417"
overlay1_desc14_overlay = rgui.png
overlay1_desc15 = "overlay_next,0.3,0.05,radial,0.025,0.0417"
overlay1_desc15_overlay = rotate.png
overlay1_desc15_next_target = "4-button-portrait"
overlay1_desc16 = "overlay_next,0.7,0.05,radial,0.025,0.0417"
overlay1_desc16_overlay = 6button.png
overlay1_desc16_next_target = "6-button-landscape"
overlay1_desc17 = "select,0.06,0.05,radial,0.025,0.0417"
overlay1_desc17_overlay = coin.png
overlay1_desc18 = "b,0.8300,0.89020,radial,0.05000,0.08889"
overlay1_desc18_overlay = button-red.png
overlay1_desc19 = "analog_left,0.11845,0.8021,radial,0.08,0.14"
overlay1_desc19_overlay = analog-stick.png
overlay1_desc19_pct = 0.75
overlay1_desc19_movable = false

overlay2_descs = 22
overlay2_desc0 = "left,0.09375,0.86875,radial,0.0875,0.0525"
overlay2_desc1 = "right,0.34375,0.86875,radial,0.0875,0.0525"
overlay2_desc2 = "up,0.21875,0.79375,radial,0.0875,0.0525"
overlay2_desc3 = "down,0.21875,0.94375,radial,0.0875,0.0525"
overlay2_desc4 = "start,0.5,0.69625,radial,0.07,0.0425"
overlay2_desc4_overlay = start.png
overlay2_desc5 = "a,0.93,0.9,radial,0.07,0.0425"
overlay2_desc5_overlay = button-blue.png
overlay2_desc6 = "b,0.77916666667,0.92,radial,0.07,0.0425"
overlay2_desc6_overlay = button-white.png
overlay2_desc7 = "y,0.6270833333333,0.94375,radial,0.07,0.0425"
overlay2_desc7_overlay = button-red.png
overlay2_desc8 = "l,0.5895833333333,0.855,radial,0.07,0.0425"
overlay2_desc8_overlay = button-red.png
overlay2_desc9 = "x,0.733333333,0.8325,radial,0.07,0.0425"
overlay2_desc9_overlay = button-white.png
overlay2_desc10 = "r,0.8875,0.81,radial,0.07,0.0425"
overlay2_desc10_overlay = button-blue.png
overlay2_desc11 = "overlay_next,0.9,0.5771,radial,0.0417,0.025"
overlay2_desc11_overlay = next.png
overlay2_desc11_next_target = "menu"
overlay2_desc12 = "left|down,0.09375,0.94375,radial,0.0521,0.03125"
overlay2_desc13 = "right|up,0.34375,0.79375,radial,0.0521,0.03125"
overlay2_desc14 = "up|left,0.09375,0.79375,radial,0.0521,0.03125"
overlay2_desc15 = "down|right,0.34375,0.94375,radial,0.0521,0.03125"
overlay2_desc16 = "nul,0.21875,0.87275,rect,0.21,0.13"
overlay2_desc16_overlay = analog-background.png
overlay2_desc17 = "menu_toggle,0.5,0.5771,radial,0.0417,0.025"
overlay2_desc17_overlay = rgui.png
overlay2_desc18 = "overlay_next,0.3,0.5771,radial,0.0417,0.025"
overlay2_desc18_overlay = rotate.png
overlay2_desc18_next_target = "6-button-landscape"
overlay2_desc19 = "overlay_next,0.7,0.5771,radial,0.0417,0.025"
overlay2_desc19_overlay = 4button.png
overlay2_desc19_next_target = "4-button-portrait"
overlay2_desc20 = "select,0.1,0.5771,radial,0.0417,0.025"
overlay2_desc20_overlay = coin.png
overlay2_desc21 = "analog_left,0.21875,0.86875,radial,0.14,0.09"
overlay2_desc21_overlay = analog-stick.png
overlay2_desc21_pct = 0.75
overlay2_desc21_movable = false

overlay3_descs = 21
overlay3_desc0 = "left,0.09375,0.86875,radial,0.0875,0.0525"
overlay3_desc1 = "right,0.34375,0.86875,radial,0.0875,0.0525"
overlay3_desc2 = "up,0.21875,0.79375,radial,0.0875,0.0525"
overlay3_desc3 = "down,0.21875,0.94375,radial,0.0875,0.0525"
overlay3_desc4 = "start,0.96085,0.66146,radial,0.07,0.0425"
overlay3_desc4_overlay = start.png
overlay3_desc5 = "x,0.88889,0.85417,radial,0.08889,0.05000"
overlay3_desc5_overlay = button-blue.png
overlay3_desc6 = "y,0.77778,0.91667,radial,0.08889,0.05000"
overlay3_desc6_overlay = button-green.png
overlay3_desc7 = "a,0.66667,0.85417,radial,0.08889,0.05000"
overlay3_desc7_overlay = button-yellow.png
overlay3_desc8 = "overlay_next,0.95185,0.45000,radial,0.0417,0.025"
overlay3_desc8_overlay = next.png
overlay3_desc8_next_target = "menu"
overlay3_desc9 = "left|down,0.09375,0.94375,radial,0.0521,0.03125"
overlay3_desc10 = "right|up,0.34375,0.79375,radial,0.0521,0.03125"
overlay3_desc11 = "up|left,0.09375,0.79375,radial,0.0521,0.03125"
overlay3_desc12 = "down|right,0.34375,0.94375,radial,0.0521,0.03125"
overlay3_desc13 = "nul,0.21875,0.87275,rect,0.21,0.13"
overlay3_desc13_overlay = analog-background.png
overlay3_desc14 = "menu_toggle,0.05015,0.45000,radial,0.0417,0.025"
overlay3_desc14_overlay = rgui.png
overlay3_desc15 = "overlay_next,0.05015,0.5771,radial,0.0417,0.025"
overlay3_desc15_overlay = rotate.png
overlay3_desc15_next_target = "4-button-landscape"
overlay3_desc16 = "overlay_next,0.96085,0.5771,radial,0.0417,0.025"
overlay3_desc16_overlay = 6button.png
overlay3_desc16_next_target = "6-button-portrait"
overlay3_desc17 = "b,0.77778,0.79167,radial,0.08889,0.05000"
overlay3_desc17_overlay = button-red.png
overlay3_desc18 = "select,0.05015,0.66146,radial,0.0417,0.025"
overlay3_desc18_overlay = coin.png
overlay3_desc19 = "analog_left,0.21875,0.86875,radial,0.14,0.09"
overlay3_desc19_overlay = analog-stick.png
overlay3_desc19_pct = 0.75
overlay3_desc19_movable = false
overlay3_desc20 = "overlay_next,0.5,0.97,radial,0.0417,0.025"
overlay3_desc20_overlay = tab-menu.png
overlay3_desc20_next_target = "tab-menu"

overlay4_descs = 11
overlay4_desc0  = "load_state,292,53,rect,50,38"
overlay4_desc1  = "save_state,505,53,rect,50,38"
overlay4_desc2  = "state_slot_decrease,292,222,rect,50,38"
overlay4_desc3  = "state_slot_increase,505,222,rect,50,38"
overlay4_desc4  = "rewind,292,306,rect,50,38"
overlay4_desc5  = "slowmotion,292,393,rect,50,38"
overlay4_desc6  = "reset,505,393,rect,50,38"
overlay4_desc7  = "toggle_fast_forward,505,306,rect,50,38"
overlay4_desc8  = "shader_next,505,136,rect,50,38"
overlay4_desc9  = "shader_prev,292,136,rect,50,38"
overlay4_desc10 = "overlay_next,400,452,radial,22,22"
overlay4_desc10_next_target = "hide"

overlay5_descs = 1
overlay5_rect = "0.47,0.9,0.065,0.1"
overlay5_desc0 = "overlay_next,16,16,radial,35,35"

overlay6_descs = 21
overlay6_desc0 = "left,0.09375,0.86875,radial,0.0875,0.0525"
overlay6_desc1 = "right,0.34375,0.86875,radial,0.0875,0.0525"
overlay6_desc2 = "up,0.21875,0.79375,radial,0.0875,0.0525"
overlay6_desc3 = "down,0.21875,0.94375,radial,0.0875,0.0525"
overlay6_desc4 = "start,0.96085,0.66146,radial,0.07,0.0425"
overlay6_desc4_overlay = start.png
overlay6_desc5 = "x,0.88889,0.85417,radial,0.08889,0.05000"
overlay6_desc5_overlay = button-blue.png
overlay6_desc6 = "y,0.77778,0.91667,radial,0.08889,0.05000"
overlay6_desc6_overlay = button-green.png
overlay6_desc7 = "a,0.66667,0.85417,radial,0.08889,0.05000"
overlay6_desc7_overlay = button-yellow.png
overlay6_desc8 = "retrok_escape,0.95185,0.45000,rect,0.0417,0.025"
overlay6_desc8_overlay = esc.png
overlay6_desc9 = "left|down,0.09375,0.94375,radial,0.0521,0.03125"
overlay6_desc10 = "right|up,0.34375,0.79375,radial,0.0521,0.03125"
overlay6_desc11 = "up|left,0.09375,0.79375,radial,0.0521,0.03125"
overlay6_desc12 = "down|right,0.34375,0.94375,radial,0.0521,0.03125"
overlay6_desc13 = "nul,0.21875,0.87275,rect,0.21,0.13"
overlay6_desc13_overlay = analog-background.png
overlay6_desc14 = "menu_toggle,0.05015,0.45000,radial,0.0417,0.025"
overlay6_desc14_overlay = rgui.png
overlay6_desc15 = "nul,0.5,0.45000,rect,0.08889,0.02500"
#overlay6_desc15_overlay = enter.png
overlay6_desc16 = "overlay_next,0.5,0.97,radial,0.0417,0.025"
overlay6_desc16_overlay = 4button.png
overlay6_desc16_next_target = "4-button-portrait"
overlay6_desc17 = "b,0.77778,0.79167,radial,0.08889,0.05000"
overlay6_desc17_overlay = button-red.png
overlay6_desc18 = "select,0.05015,0.66146,radial,0.0417,0.025"
overlay6_desc18_overlay = coin.png
overlay6_desc19 = "nul,0.21875,0.86875,radial,0.14,0.09"
overlay6_desc19_overlay = analog-stick.png
overlay6_desc20 = "retrok_tab,0.09,0.5771,rect,0.08889,0.02500"
overlay6_desc20_overlay = tab.png

Man, it’s perfect!

Everything works and the placement is excellent!

Thanks so much for your time and constant helpfulness :hugs:

1 Like

I’m glad that gets you fixed up :slight_smile:

1 Like