chiark / gitweb /
select train with left button
authorian <ian>
Mon, 14 Jul 2008 20:16:28 +0000 (20:16 +0000)
committerian <ian>
Mon, 14 Jul 2008 20:16:28 +0000 (20:16 +0000)
hostside/gui

index 50976842275f41b3885a538981644487409606e6..436bf533ddd216d89bf29027fdc4448f2b33aaf8 100755 (executable)
@@ -374,6 +374,17 @@ proc speedw-setstate {w disnorm} {
     $w.speed configure -state $disnorm
 }
 
+proc speedw-train-selectnext {w} {
+    upvar #0 speed/$w s
+    set max [$s(optionmenu) index end]
+    for {set ix 0} {$ix <= $max} {incr ix} {
+       set v [$s(optionmenu) entrycget $ix -value]
+       if {![string compare $v $s(train)]} break
+    }
+    set activate [expr {($ix+1) % ($max+1)}]
+    $s(optionmenu) invoke $activate
+}
+
 proc speedw-train-selected {w t} {
     upvar #0 speed/$w s
     $w.train configure -text $t
@@ -526,6 +537,12 @@ proc ib-ev/wheelmouse/EV_REL/REL_WHEEL {devid value} {
     speedw-userinput-rel $in(speedw) [list ib-wheelmouse-stepmap $value]
 }
 
+proc ib-ev/wheelmouse/EV_KEY/BTN_LEFT {devid value} {
+    if {$value!=1} return
+    upvar #0 input/$devid in
+    speedw-train-selectnext $in(speedw)
+}
+
 proc ib-create/wheelmouse {devid wunique desc} {
     upvar #0 input/$devid in
     set w .inputs.$wunique
@@ -774,7 +791,7 @@ proc input-binding-inputline {chan l devid} {
            manyset [split $lr] value kindl kindr codel coder
            set proc ib-ev/$in(concrete)/${kindl}_${kindr}/${codel}_${coder}
            if {[catch { info args $proc }]} {
-               debug "ib $devid unbound $proc <<"
+               #debug "ib $devid unbound $proc << $l"
                return
            }
            $proc $devid $value