Today the initialization is manual, meaning that in the runFirstStep() function you have to call "vj1->setButton(0,rj1->buttonPressed(0))" if you want that the first virtual button is in sync with the first real button (index 0).
In most cases (in the frame of TM-like profiles) it will be possible to automate the initialization by implementing a new AbstractAction::init function. If the user does not agree with this init (it may be the case with some mappings for which it can not be obvious what behavior the user wants), he still has the priority with his calls to "vj1->setButton, setAxis, setPov".
Today the initialization is manual, meaning that in the runFirstStep() function you have to call "vj1->setButton(0,rj1->buttonPressed(0))" if you want that the first virtual button is in sync with the first real button (index 0).
In most cases (in the frame of TM-like profiles) it will be possible to automate the initialization by implementing a new AbstractAction::init function. If the user does not agree with this init (it may be the case with some mappings for which it can not be obvious what behavior the user wants), he still has the priority with his calls to "vj1->setButton, setAxis, setPov".