media @ VU
proto-slide-interface-keyboard.vr
proto-slide-interface-keyboard.vr
(wrl
)
[ flux /
bitmanagement /
cortona /
octaga
]
keys
Web3D/VR
info
##
##
proto
PROTO SlideKeys [
exposedField SFNode slide_set NULL
]{
body
DEF KEYBOARD_INTERFACE Script {
field SFNode me USE KEYBOARD_INTERFACE
field SFInt32 oldMask 0
field SFNode slide_set IS slide_set
eventIn SFNode onEvent
field SFInt32 previousKey 8
eventOut SFTime previous
field SFInt32 nextKey 32
eventOut SFTime next
functions
url "vrmlscript:
function initialize()
{
// tell what events
oldMask = Browser.eventMask;
Browser.eventMask = 1<<5; // KeyDown Only...
// add event observer
Browser.addRoute(Browser,'event_changed',me,'onEvent');
Browser.addRoute(me,'previous',slide_set,'previous');
Browser.addRoute(me,'next',slide_set,'next');
}
function shutdown()
{
// remove event observer
Browser.eventMask = oldMask;
Browser.deleteRoute(Browser,'event_changed',me,'onEvent');
Browser.deleteRoute(me,'previous',slide_set,'previous');
Browser.deleteRoute(me,'next',slide_set,'next');
}
events
function onEvent(e,t) {
if(e.type == 'keydown') {
if(e.keyCode==previousKey) {
previous = t;
e.returnValue = false;
} else { if(e.keyCode==nextKey) {
next = t;
e.returnValue = false;
}}
}
}
"
}
}
(C) A. Eliëns
21/5/2007
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.