我正在使用Python curses编写应用程序,我想知道是否有一种方法可以禁用功能键。我已将键盘(1)设置为一次读取一个字符。这适用于Insert,HOME,DELETE,PAGEUP和PAGEDOWN键,但不适用于功能键......
我需要完全禁用功能键,我想控制所有键的行为。
由于
答案 0 :(得分:0)
您可以使用ascii代码:例如27是"Less": {
"CompileOnBuild": true,
"CompileOnSave": false,
"EnableChainCompilation": true,
"GenerateSourceMaps": true,
"MinifyInPlace": false,
"OutputDirectory": "css",
"ProcessSourceMapsForEditorEnhancements": true,
"ShowPreviewPane": true,
"StrictMath": false
}
答案 1 :(得分:0)
你不能让功能键消失(除非你将用户限制在非常简单的键盘上),但你可以检测它们并忽略它们,如果你想做的话。
您可以打开keypad
,忽略非ASCII字符(0到255范围之外),或者将其关闭并自行过滤掉。虽然Python curses接口提供了可以比较密钥的symbolic constants,但是底层curses库为函数键返回超过255的值。一个简单的范围检查就足以排除任何不需要的密钥。
功能键(也称为特殊键)如果不是单个控制字符(代码0到31或127 - 请参阅Python curses.ascii类的名称)通常作为转义序列发送遵循从另一个方向发送的控制序列的ECMA-48格式规则:从主机到终端。
格式规则对转义序列的不同部分使用不同的ASCII字符。以下是最常用格式(CSI
)的摘要:
<
,=
,>
,?
之一;
)某些程序(例如vi
)接受普通的 ESC 字符,并且必须在收到转义字符后等待一小段时间,以确定以下字符是否显示特殊键是被打字。如果你不必这样做,你可以(比如emacs
)简单地假设每个转义字符都会启动一个特殊键。