# ON KEY Trapping CTRL, SHIFT, CAPS LOCK, NUM LOCK Combinations

Aegunud teabebaasisisu lahtiütlus

See artikkel käsitleb selliseid tooteid, millele Microsoft enam tugiteenuseid ei paku. Seetõttu esitatakse selle artikli teave „olemasoleval kujul“ ja edaspidi seda ei värskendata.

### Summary

Pressing any key in combination with CTRL, SHIFT, ALT, CAPS LOCK, or NUM LOCK changes the keyboard scan code. To trap combinations of keys, the KEY statement requires adding together the values of the keyboard flags as shown in the code example below.

``  CONST alt = &H8   CONST noflag = &H0   CONST leftshift = &H1   CONST rightshift = &H2   CONST ctrl = &H4   CONST numlock = &H20   CONST capslock = &H40   CONST extendedkeyboard = &H80   CONST left = &H4B   CONST right = &H4D   CONST up = &H48   CONST down = &H50   CONST C = &H2E   CONST scrolllock = &H46   KEY 15, CHR\$(extendedkeyboard + numlock) + CHR\$(left)   KEY 16, CHR\$(extendedkeyboard + numlock) + CHR\$(right)   KEY 17, CHR\$(extendedkeyboard + numlock) + CHR\$(up)   KEY 18, CHR\$(extendedkeyboard + numlock) + CHR\$(down)   KEY 19, CHR\$(ctrl + capslock) + CHR\$(C)   KEY 20, CHR\$(extendedkeyboard + ctrl + numlock) + CHR\$(scrolllock)   ON KEY(15) GOSUB left   ON KEY(16) GOSUB right   ON KEY(17) GOSUB up   ON KEY(18) GOSUB down   ON KEY(19) GOSUB break   ON KEY(20) GOSUB break   KEY(15) ON   KEY(16) ON   KEY(17) ON   KEY(18) ON   KEY(19) ON   KEY(20) ON   WHILE UCASE\$(INKEY\$) <> UCASE\$("q")   WEND   END   left:    PRINT "left"   RETURN   right:    PRINT "right"   RETURN   up:    PRINT "up"   RETURN   down:    PRINT "down"   RETURN   break:    PRINT "break"   RETURN``