I know that in a text box I can change the key someone presses (eg. they type X and it changes to Y) using key up/down/press events, but how can I intercept/change system-wide keypresses, ie someone types in another window and my program changes the key they press?