Seeing that trams and, in the future, trains will be included in this, I was wondering if using RailDriver for this was considered. Currently, I use RailDriver for Train Simulator 2018, and it makes operating trains much easier and more realistic than using the keyboard. Here is a link to the RailDriver website: http://raildriver.com/
Of course, RailDriver has its disadvantages, mainly price (200 USD) and possibly programming/scripting. That's why I only say this as an idea to look into and not necessarily a suggestion or a must-have.