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

已淘汰的 KB 內容免責聲明

本文章所撰寫之相關產品,Microsoft 已不再提供支援。 因此,本文章將以「現狀」提供,並且將不再更新。

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.

More Information

The following is a code example:
  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
內容

文章識別碼:39252 - 最後檢閱時間:2006年11月21日 - 修訂: 1

意見反應