O que você quer fazer não funcionará como:
- para as teclas Shift e Ctrl : Não é possível ligar os eventos de mouse para baixo e mouse para os eventos key-press e key-up apenas às teclas ...
- para o PgDn : Os botões do mouse não têm uma função de repetição: somente mouse e mouse para cima (sem "repetir o mouse")
Desculpe ser o prenúncio de más notícias (mas pelo menos você não perderá mais tempo com isso ...)