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

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

懒得写了, 转几篇过来:
原帖地址:
http://blog.chinaunix.net/u1/38994/showart_1130025.html
浅析linux下键盘设备工作和注册流程
【浅析linux下鼠标驱动的实现】
 input_init(
)
=
>
=
>
class_register(
&
input_class)
;
注册input类
input_proc_init(
)
;
创建proc下的目录和文件
register_chrdev(
INPUT_MAJOR,
"input"
,
&
input_fops)
;
注册驱动程序到cdev_map上,
以待驱动设备.
drivers\input\keyboard\pxa3xx_keypad.
c为我们的keyboard设备,
pxa3xx_keypad_probe=
>
request_irq(
IRQ_ENHROT,
&
enhanced_rotary_interrupt,
            IRQF_DISABLED,
"Enhanced Rotary"
,
(
void
*
)
keypad)
;
注册快捷键中断
request_irq(
IRQ_KEYPAD,
pxa3xx_keypad_interrupt,
IRQF_DISABLED,
pdev-
>
name,
keypad)
;
注册中断
static
irqreturn_t pxa3xx_keypad_interrupt(
int
irq,
void
*
dev_id)
{
    struct
pxa3xx_keypad *
keypad =
dev_id;
    uint32_t
kpc =
keypad_readl(
KPC)
;
    if
(
kpc &
KPC_MI)
        pxa3xx_keypad_scan_matrix(
keypad)
;
    if
(
kpc &
KPC_DI)
        pxa3xx_keypad_scan_direct(
keypad)
;
    return
IRQ_HANDLED;
}
在irq中如果读到了key,
那么会直接调用
input_report_key(
keypad-
>
input_dev,
lookup_matrix_keycode(
keypad,
row,
col)
,
                new_state[
col]
&
(
1 <
<
row)
)
;
static
inline
unsigned
int
lookup_matrix_keycode(
        struct
pxa3xx_keypad *
keypad,
int
row,
int
col)
{
    return
keypad-
>
matrix_keycodes[
(
row <
<
3)
+
col]
;
}
input_report_key(
struct


相关文档:

linux使用下使用动态与静态库

感觉对这个有些晕,做了个实验,弄清楚了。
实验思路,用同一份代码编译同时生成动态和静态库,通过测试程序调用,看调用的是动态库还是静态库。
生成静态库代码:
/***********hellod.h*************/
#ifndef _HELLO_S_H
#define _HELLO_S_H
void prints(char *str);
#endif
/*hellod.c*/
#include "hellod ......

Linux IP设置

Linux IP设置
修改ip:
编辑文件/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 //设备名称,不要修改
BOOTPROTO=static //不要修改
BROADCAST=10.10.22.255 //广播地址,一般为本网段的最后一个IP
IPADDR=10.10.22.145 //ip地址
NETMASK=255.255.255.0 //子网掩码
NETWORK=10.10.22.0 //网段地址
ONBOOT ......

linux网络编程基本流程

1.        基本概念
 
说到网络编程,不得不先提到OSI参考模型,其七层模型从下到上分别为
1.物理层(Physical Layer,PH)
2.数据链路层(Data Link Layer,DL)
3.网络层(Network Layer,N)
4.运输层(Transport Layer,T)
5.会话层(Session Layer,S)
6.表示层(Presentation Layer, ......

用vsFTPd 架设Linux FTP 服务器


用vsFTPd来架设FTP服务器,vsFTPd服务器是目前最好的FTP服务器软件,优点是体积小,可定制强,效率高,高安全性。
1。查看是否安装了vsFTPd软件
[root@linuxsir001 root]# rpm -qa | grep vsftpd
如果没有任何显示,说明没有把vsFTPd安装上,如果出现的是下面的这样的提示,就证明已经安装上了。
[root@linuxsir001 ro ......

在linux中设置定时启动程序

  Linux中,cron被用来调度重复的任务,linux at命令被用来在指定时间内调度一次性的任务。
  要使用linux at命令,你必须安装了at RPM软件包,并且 atd服务必须在运行。
  可以使用一下命令启动atd服务:
  [root@sso_4 sbin]# /sbin/service atd start
 
  要判定该软件包是否被安装 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号