Keyboard rollover broken when going to the left from the left edge and up at the top.
When playing with the 30 x 16 one, when the selected cell is at x position 0 and the left arrow key (or 'h') is pressed, instead of rolling over to position 29, it goes to position 15.
At first I thought it was maybe that the modulo for width was being done with the height but after looking at the code, it has to do with weird behaviour with negative modulo.
I have a fix. I'll create the pull request soon.