linux下模拟键盘的几种方法
	
    
    
	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);
    event = gdk_event_new (GDK_KEY_RELEASE);          //按键弹起
    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 <X11/extensions/XTest.h>
    #include <X11/keysym.h>
    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 <linux/input.h>
    /* 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
    
     
	
	
    
    
	相关文档:
        
    
    总览
用iptables -ADC 来指定链的规
则
,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
	
    
        
    
    2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......
	
    
        
    
    版权声明:原文地址及作者不详,如有侵权,请联系;
本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现, ......
	
    
        
    
    Linux 查看所有环境变量命令:expoert 和  env 。
               指定环境变量:echo $XXX,(XXX代表环境变量名)
更改环境变量值方法:
1.修改/etc/profile文件
例:在profile文件末尾加入: 
JAVA_HOME=/usr/share/jdk1.5.0_05 
P ......
	
    
        
    
      
学linux也有一段时间了,从一个菜鸟成长为蹒跚走路的雏鸟,一路走来,难免有些磕磕碰碰。对linux的认识也从听说很强大,到亲自体验它的开源、安
全、以及优越的性能,不过也吃尽了苦头,真的是五味俱全。
     
都说linux功能强大,自从我接触了linux就感觉到了它的强大。强大的安全性能, ......