Scrollbar updating now happens in veiwport.py. Keyboard navigation finally works well.