As the
readme in the project says, the aim of the LibDS library and the QDriverStation itself is too look and behave as close as possible as the official Driver Station.
The problem about the e-stop trigger key is an implementation issue. I would like to follow the 'standards' of the official DS and be able to stop the robot with the spacebar.
However, the behavior of the application when the spacebar was pressed depended on which widget was focused/selected. In other words, you could never be certain if the spacebar would trigger the e-stop, and a driver should be able to stop a misbehaving robot
immediately.
Until I find a fix for this issue, I allowed users to trigger the e-stop function when pressing any of the shift keys. Of course, the option will be remapped to the spacebar when I find a safe method of detecting keyboard input (maybe with SDL, which also gets joystick input).