如果打开终端,写写个scanf()函数的demo,就可以获取键盘上打出来的字符,但如果没有终端呢,C程序应该如何获取键盘上的字符。
目前了解到的是/dev/input/event*可以监听键盘事件,但是打印出来的是input.code,我想要的是字符串

解决方案 »

  1.   

    https://blog.csdn.net/qq_20553613/article/details/79216665#comments
      

  2.   

    你的程序是后台运行的程序吗?如果是后台程序,要捕获按键,可能要更深入了解下linux内核的"input输入子系统"的东西,还是对/dev/input/event的处理。
    你现在输出的数据不对应该是编码问题,需要对输入做相应解析。
      

  3.   

    举个例子,在一个开发版(没有屏幕,要通过ssh操作终端)插上一个usb键盘),我的程序需要实时监听键盘敲打了什么字符,我知道/dev/input/event*可以监听键盘事件,相关的代码网上也能找得到,我下了一个demo,敲下Q键,打印出来的是
    type:4 code:16 value:0根据input.h可以知道16就是代表Q键,但是我需要的字符串,不是整形,有没有一个方法可以把这些整形数值转成对应的字符串?