1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#!/usr/bin/env entity
<!--
FILE: "/home/joze/pub/entity/entity/apps/ev.e"
LAST MODIFICATION: "Fri, 12 May 2000 04:51:39 +0200 (joze)"
(C) 2000 by Johannes Zellner, <johannes@zellner.org>
$Id: ev.e,v 1.1 2000/05/12 02:56:03 joze Exp $
-->
<object default-lang = "tcl">
<window width = "200" height = "200" onbuttonpress = "onbuttonpress"
onbuttonrelease = "onbuttonrelease" onkeypress = "onkeypress"
onkeyrelease = "onkeyrelease" onmousemotion = "onmousemotion"/>
<?tcl
proc onbuttonpress {node button x y} {
puts stderr [list buttonpress event: x=$x, y=$y, button $button]
}
proc onbuttonrelease {node button x y} {
puts stderr [list buttonrelease event: x=$x, y=$y, button $button]
}
proc onkeypress {node args} {
if {[llength $args] > 1} {
puts stderr [list keypress event: '[lindex $args 0]' ([lindex $args 1])]
} else {
puts stderr [list keypress event: ([lindex $args 0])]
}
}
proc onkeyrelease {node args} {
if {[llength $args] > 1} {
puts stderr [list keyrelease event: '[lindex $args 0]' ([lindex $args 1])]
} else {
puts stderr [list keyrelease event: ([lindex $args 0])]
}
}
proc onmousemotion {node state x y} {
puts -nonewline stderr [list mousemotion event: x=$x, y=$y]
if $state { puts -nonewline stderr ", buttons" }
if {$state & 1} { puts -nonewline stderr " 1" }
if {$state & 2} { puts -nonewline stderr " 2" }
if {$state & 4} { puts -nonewline stderr " 3" }
puts stderr ""
}
?>
</object>
|