If you try a real PDF Viewer (or actually many other document readers), pgup is actually one 'screen' up, instead of one page (as in the document) up. So I don't think the logic is correct here.

I think that pgup/down, home/end should just change the scroll value, which should have nothing to do with the pages.