set in(main_active) $active
}
+proc ib-ev/gamepad/EV_KEY/BTN_1 {d v} { ib-gamepad-btn 1 $d $v }
+proc ib-ev/gamepad/EV_KEY/BTN_2 {d v} { ib-gamepad-btn 2 $d $v }
+proc ib-ev/gamepad/EV_KEY/BTN_3 {d v} { ib-gamepad-btn 3 $d $v }
+proc ib-ev/gamepad/EV_KEY/BTN_4 {d v} { ib-gamepad-btn 4 $d $v }
+proc ib-ev/gamepad/EV_KEY/BTN_5 {d v} { ib-gamepad-btn 5 $d $v }
+proc ib-ev/gamepad/EV_KEY/BTN_6 {d v} { ib-gamepad-btn 6 $d $v }
+
+proc ib-gamepad-btn {num devid value} {
+ upvar #0 input/$devid in
+ if {!$value} return
+ if {[string length $in(main_active)]} return
+ upvar #0 trainnum2train($num) tr
+ if {![info exists tr]} {
+ speedw-train-noneselected $in(speedw) "no train $num"
+ } else {
+ speedw-train-selected $in(speedw) $tr
+ }
+}
+
proc ib-ev/gamepad/EV_KEY/BTN_TOP2 {devid value} {
upvar #0 input/$devid in
if {!$value} return