1、使用gtk中的gdkevent
gdkevent *event;
event = gdk_event_new (gdk_key_press); //按鍵按下
event->key.send_event = true;
event->key.keyval = gdk_1;
event->key.window = window;
gtk_main_do_event (event);
gdk_event_free (event);
2、使用xlib
#include
#include
display *disp = xopendisplay (null);
keysym = xk_1;
//true為按下,false為彈起
xtestfakekeyevent (disp, xkeysymtokeycode (disp, keysym), true, currenttime);
xtestfakekeyevent (disp, xkeysymtokeycode (disp, keysym), false, currenttime);
xclosedisplay (disp);
編譯的時候要加上-lxtst選項,這種情況依賴於xlib。
3、直接寫鍵盤裝置
#include
/* open keyboard */
fd_kb = open ("/dev/input/event0", o_rdwr);
struct input_event event;
event.code = key_1;
event.type = ev_key;
event.value = 1; //1表示按下,0表示釋放,2表示長按
gettimeofday (&event.time, 0);
if (write (fd_kb, &event, sizeof (event)) != sizeof (event))
event.value = 0;
if (write (fd_kb, &event, sizeof (event)) != sizeof (event))
這種方法是最通用的,不管底層用的是x還是dfb,都可以用,推薦適用這種方法。以上三種方法都在debian下驗證通過。
Linux下安裝軟體的幾種方法
怎麼安裝應用軟體?我的軟體安裝在什麼地方?如何刪除不要的應用軟體?下面,我們就一起來認識一下這些方面的問題。一 解析linux應用軟體安裝包 通常linux應用軟體的安裝包有三種 1 tar包,如software 1.2.3 1.tar.gz。它是使用unix系統的打包工具tar打包的。2 rpm包...
linux下刪除空行的幾種方法
在檢視linux下的配置檔案時,為了便於一目了然的檢視,經常會刪除空行和 頭的行。而linux在刪除空行的方法很多,grep sed awk tr等工具都能實現。現總結如下 1 grep grep v file 2 sed sed d file 或sed n p file 3 awk awk fil...
Linux下安裝軟體的幾種方法
怎麼安裝應用軟體?我的軟體安裝在什麼地方?如何刪除不要的應用軟體?下面,我們就一起來認識一下這些方面的問題。一 解析linux應用軟體安裝包 通常linux應用軟體的安裝包有三種 1 tar包,如software 1.2.3 1.tar.gz。它是使用unix系統的打包工具tar打包的。2 rpm包...