易截截图软件、单文件、免安装、纯绿色、仅160KB

浅析linux键盘设备工作和注册流程

(1)在\drivers\input\Input.c中。
      A,subsys_initcall(input_init);
      B,static int __init input_init(void)中完成几个重要的操作:
err = class_register(&input_class);以输入类方式注册类
input_proc_init();  //创建proc下的目录和文件
register_chrdev(INPUT_MAJOR, "input", &input_fops);  //注册字符设备驱动程序到内核
(2)在drivers\input\keyboard\S3c-keypad.c中,是自己的按键处理文件。
      A,定义给android上层的码值
#define KEYCODE_HOME     58
#define KEYCODE_POWER   50
struct s3c_keypad_gpio_key gpio_key_smdk6410[] = {
      {IRQ_EINT(6),  S3C64XX_GPN(6),   2,     KEYCODE_POWER, 1},
      {IRQ_EINT(7),  S3C64XX_GPN(7),   2,      KEYCODE_HOME, 1},
};
分别是外部中断号,GPIO口号,码值。
      B,probe过程:
module_init(s3c_keypad_init);     //按键init
platform_driver_register(&s3c_keypad_driver);   //注册平台驱动
s3c_keypad_driver的probe函数是主要处理过程:
static int __init s3c_keypad_probe(struct platform_device *pdev)
{
     struct input_dev *input_dev;   //注册一个输入设备
     platform_get_resource(pdev, IORESOURCE_MEM, 0);
     request_mem_region(res->start, size, pdev->name);
     ioremap(res->start, size);   //分配资源
     keypad_clock = clk_get(&pdev->dev, "keypad");
     clk_enable(keypad_clock);   //获得keypad的clock
     set_bit(EV_KEY, input_dev->evbit);   //标志input_dev是KEY设备
      s3c_gpio_cfgpin(gpio_key->gpio, S3C_GPIO_SFN(gpio_key->gpio_af));
     


相关文档:

Linux字符集 以及 网络通信监听

查看当前配置字符集 locale 
查看全部字符集 locale -a
设置字符集 export LANG=zh_CN.gbk
easy
tcpdump 一个linux监听网络访问的工具
监听服务器及端口
tcpdump -nn -i eth0 src host www.codigg.com and src port 80
正在使用的sql
tcpdump -s 0 -l -w - dst port 3306 | strings ......

Linux系统调用 sigaction函数详解(一)

功能描述: 
处理信号。既可用于设定对任意信号的处理方式,也可用于检验该信号的目前预设处置方式。
 
  
用法: 
#include <signal.h>
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
       
 &n ......

linux 安装oracle 参数提示PORT的值NULL无效

      第一次在Linux上安装Oracle的时候碰到这个问题,呵呵。之前在Linux上安装Oracle时,一般都使用RedHat系列的Linux,在安装过程中,需要做大量的安装前置工作,如安装RPM包,创建组和用户,修改内核参数,修改环境变量等。这次使用的是RedFlag的Asianux 3,而且自带Oracle的安装辅助工具Orana ......

linux下安装mysql的三种方式

本次安装的系统平台为redhat 5
一、使用RPM包进行安装
  首先可以从安装光盘中或者到mysql的网站上下载对应版本的rpm包如下:
MySQL-server-community-5.1.38-0.rhel5.i386.rpm
MySQL-client-community-5.1.38-0.rhel5.i386.rpm
    接着我们可以使用rpm命令进行安装:
rpm -ivh MySQL ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号