Sono riuscito a fare ciò che volevo installando Karabiner e aggiungendo un file qui:
$ nano ~/Library/Application\ Support/Karabiner/private.xml
Ho aggiunto quanto segue:
<?xml version="1.0"?>
<root>
<item>
<name>Custom Shortcuts</name>
<item>
<name>Shift + Up = Page Up</name>
<identifier>custom.pageup</identifier>
<autogen>__KeyToKey__ KeyCode::CURSOR_UP, VK_SHIFT | ModifierFlag::NONE, KeyCode::PAGEUP</autogen>
</item>
<item>
<name>Shift + Down = Page Down</name>
<identifier>custom.pagedown</identifier>
<autogen>__KeyToKey__ KeyCode::CURSOR_DOWN, VK_SHIFT | ModifierFlag::NONE, KeyCode::PAGEDOWN</autogen>
</item>
<item>
<name>Shift + Left = Home</name>
<identifier>custom.home</identifier>
<autogen>__KeyToKey__ KeyCode::CURSOR_LEFT, VK_SHIFT | ModifierFlag::NONE, KeyCode::HOME</autogen>
</item>
<item>
<name>Shift + Right = End</name>
<identifier>custom.end</identifier>
<autogen>__KeyToKey__ KeyCode::CURSOR_RIGHT, VK_SHIFT | ModifierFlag::NONE, KeyCode::END</autogen>
</item>
<item>
<name>Shift + Delete = Forward Delete</name>
<identifier>custom.delete</identifier>
<autogen>__KeyToKey__ KeyCode::DELETE, VK_SHIFT | ModifierFlag::NONE, KeyCode::FORWARD_DELETE</autogen>
</item>
</item>
</root>
Ho quindi fatto clic su "Ricarica XML" in Karabiner e ho selezionato le nuove opzioni, che hanno subito effetto! Sembra simulare i tasti premuti in ogni app.