在将终端设置为原始模式后使用 getchar() 处理击键时,有什么方法可以捕获组合键 Ctrl-Enter 吗?
测试时,我得到的字符值是 10,无论是否按住 Ctrl 都是一样的。
最佳答案
在做了更多实验之后,似乎大多数终端不会为 Ctrl-Enter 发送唯一的键符。通过使用 getchar 循环,您可以看到任何终端按键的完整键符代码:
// set terminal to raw, then...
while( int c = getchar() ) printf( "%d ", c );
某些键如 F1 和 Ctrl-K 会生成代码,但其他组合键不会。不幸的是,Ctrl-Enter 不是可编码的组合键。当然,使用具有根访问权限的信号可以从本地控制台检测到它,但不能从终端检测到。
关于linux - 使用 getchar() 在原始模式下捕获 Ctrl-Enter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55821314/