I have an application in which you are in a virtual tour of my house. I have 8 arrow buttons each pointing in a different direction. Along with being able to click these buttons to move, I also want them to be able to press a number on the numeric keypad. My form's KeyPreview property is set to True and I am using the KeyPress event to monitor each press of the key. This is where the problem comes up. Every time a key is pressed, my program goes through a Select Case on KeyAscii. On each case it has the vbKeyNumpad1,2,3,4,etc. variables for each of the directions. I want this to work whether the NumLock button is lit or not. Is this possible?