> and i want to configure 'page down', 'page up', 'down arrow', 'up arrow, etc.
> events to do the sensible thing
> 
> this seems to do nothing...
> 
>   @text.bind 'Down', proc{puts 'Down'}
>   @text.bind 'downarrow', proc{puts 'downarrow'}

The following writes out "Down" when you press the down arrow:

txt=TkText.new()
txt.bind("Down", proc {puts "Down"})

The PgDn/PgUp keys normally are referred as 'Next' and 'Prior' key
symbols.

For real scrolling, you just have to use the 'see' method of TkText
(check out man 3tk text).

Ferenc