I'm a computer programmer and use Xcode so I am constantly scrolling up and down. Often times I would like to move the page down but not as much as the "Page Down" keyboard key moves it. I would like to move it half the distance as it usual moves. I feel like I have experimented with every combination of "Page Down" with shift, option, control, command, and fn. Also, I used all those controls with the down arrow keys with no success.

Maybe I missed something? Is this even possible?

  • 2
    Link: Mac OSX: Scroll half a page
    – klanomath
    Jan 12, 2017 at 21:10
  • 1
    The most recent version of ControllerMate is Sierra only. Older versions all the way back to 10.4 are available, though.
    – IconDaemon
    Jan 12, 2017 at 21:38
  • Please remove your "SOLUTION:" from the question and add it as an actual "Answer" here :)
    – pkamb
    Jun 16, 2021 at 20:04

3 Answers 3


As answered in the question linked to by klanomath's comment, ControllerMate can be used to set up keybindings that simulate scrolling an arbitrary amount.

However, this approach has limitations:

  • The ControllerMate approach does not take into account the height of the window being scrolled; it advances a fixed distance on its virtual scroll wheel. So this workaround only works well if all the windows you wish to scroll are always the same height.
  • The default behavior of Page Up & Page Down, as well as Home and End, cannot be overridden in Chrome, at least. It only works if you add a modifier key. Being able to override existing single-key behavior is very desirable, since the whole point of this is to optimize something that is done very frequently.

(Oops! I placed a bounty on this question worth 100 reputation points, not realizing that the points would be "escrowed" and that since I'm not a frequent user of apple.stackexchange.com, I would then not have enough reputation points to comment. Otherwise I might have just commented after klanomath. I'm not attempting to win my own bounty by answering... Hoping someone else can come up with an approach that overcomes the limitations mentioned above.)

  • 1
    I have ControllerMate and I can assure you that while modifying the keys is quite simple, the usefulness of having a fixed scroll distance is very problematic. I tested this out and if you don't have the windows sized exactly the same every time, the scrolling is always off.
    – Allan
    Jan 13, 2017 at 11:59
  • and...now you have enough points to comment.
    – owlswipe
    Jan 14, 2017 at 21:05

You cannot change this in macOS

Page Up and Page Down are dynamic in that it automatically adjusts to the height of the window.

It will always scroll one page - if that page is 100 lines, it will scroll 100 lines, 10 lines, it will scroll 10 lines.

  • This is unusable: is there not a pseudo page up/page down for the IDE? Jun 12, 2020 at 14:22

I created AppleScript code in Script Editor:

tell application "System Events"
    key code 125
    key code 125
    key code 125
    key code 125
end tell

Then from Accessibility > Dictation > Dictation Commands, I create a word and in the "Perform" drop down box select Run Workload, and select the AppleScript file using the code above that was created in Script Editor.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .