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

已弃用知识库内容免责声明

本文介绍 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
属性

文章 ID:39252 - 上次审阅时间:2006年11月21日 - 修订版本: 1

反馈