ctrl alt 之类的如何实现

如何在ncurse,qt,之类的库实现这操作,这的assic 码是什么,我没看懂cpp reference中。 我想学习一下如何做一个像 vim emacs 的编辑器,做个简单版本的玩玩,有什么书推荐, 我很难在网上找到。他们的代码太长太难不适合我这种新手看。

1 个赞

/6913704?fr=aladdin 基于ASCII的键盘上有个标为“Control”或"Ctrl"(有时也作"Cntl")的键,其用法非常类似于换档键,即与其他字母或符号键一起按下。通过这种方式使用控制键将生成同时按下的字符键的的ASCII编码字节的7位中,左起的两个字元强制定为0;从而产生出32个ASCII控制码之一。例如,按下CTRL和字母G(十进制编码为71,二进制为01000111),产生编码7(振铃符,十进制编码7,或二进制00000111)。

键盘上有些单个键能产生控制码。例如标为“Backspace”的键通常产生编码8,“Tab”是编码9,“Enter”或“Return”是编码13(有些键盘上“Enter”可能是编码10)。

https://viewsourcecode.org/snaptoken/kilo/02.enteringRawMode.html 用 <ctype.h>的isctrl() ^A 01 0x01 SOH Start of Heading (报头开始) 原来^A是ctrl+A的意思,看C-A习惯了。。。 ASCII码表 US-ASCII控制字符不同呀。。