As for the controls... I spent a LOT of time getting that working on JFront (without spending a great deal of time)...
How I ended up doing it is to copy the default.cfg file around (because it was before the control.ini existed and it still works so I haven't touched it).
Anyway, what I do is define a game type that you want to play with what controls.... And what control panel you are using. Then I copy the appropriate default.cfg file in mame\cfg\ directory before launching a game... You set the defaults once... and all other games that meet the same requirements are set.
So you could sperate the control panels that you want enabled... (V, H, V (both), All three)... Then configure the defaults 4 times (once for each) and from then on your done.
I used it mainly to change all 2player 8way 6 buttons games (sf games) and flip the top row and bottom row of buttons).... Setup mortal kombat once for all of those (but I do this with a special tag for MK games).
Anyway, it was nice... but not needed as much with the ini files. I could easily switch to instead of copying cfg files, specify the .ini file... but there aren't any ingame editor for the ini files... So until I write one, I will copy cfg files.