def cycle_controls_back
if RUBY_VERSION.to_f > 1.8
index = @active_pane.controls.keys.index @active_pane.controls.key(@active_control)
else
index = @active_pane.controls.keys.index @active_pane.controls.index(@active_control)
end
begin
index -= 1
index = @active_pane.controls.size - 1 if index < 0
end until @active_pane.controls[@active_pane.controls.keys[index]].respond_to? :handle_char
old = @active_control
@active_control = @active_pane.controls[@active_pane.controls.keys[index]]
old.redraw
@active_control.redraw
end