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

linux uinput 分析。

linux uinput
本文以 2.6.22.7 的kernel 为基础。
首先 uinput 是一个字符设备, 其次它还是一个 input 设备。另外它可以是一个鼠标或者键盘设备。
从 init 部分说起吧。
static const struct file_operations uinput_fops = {
    .owner        = THIS_MODULE,
    .open        = uinput_open,
    .release    = uinput_release,
    .read        = uinput_read,
    .write        = uinput_write,
    .poll        = uinput_poll,
    .unlocked_ioctl    = uinput_ioctl,
};
static struct miscdevice uinput_misc = {
    .fops        = &uinput_fops,
    .minor        = UINPUT_MINOR,
    .name        = UINPUT_NAME,
};
static int __init uinput_init(void)
{
    return misc_register(&uinput_misc);
}
首先说说 miscdevice, 很方便的东西,对 device 做了简单的包装,
当 misc_register 的时候就完成了 设备的 注册安装一类的东东, 不用自己再操心了。真是懒人的设计阿。
所有的 misc 设备公用同一个主设备号,在 misc_init 中,
static int __init misc_init(void)
{
#ifdef CONFIG_PROC_FS
    struct proc_dir_entry *ent;
    ent = create_proc_entry("misc", 0, NULL);
    if (ent)
        ent->proc_fops = &misc_proc_fops;
#endif
    misc_class = class_create(THIS_MODULE, "misc");
    if (IS_ERR(misc_class))
        return PTR_ERR(misc_class);
    if (register_chrdev(MISC_MAJOR,"misc",&misc_fops)) {
        printk("unable to get major


相关文档:

Linux的五个查找命令

1. find
find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。
find的使用格式如下:
  $ find <指定目录> <指定条件> <指定动作>
  - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。
  - <指定条件>: 所要搜索的文件的特征。
  - <指定动作 ......

linux bash中快速移动光标

  bash有两种输入模式vi模式和emacs模式,其中emacs是默认模式,而且操作起来也比vi模式要快捷。可以通过 set -o vi和set -o emacs来转换。
  1.在命令历史中查找
 
 强烈推荐使用 Ctrl+r, 这个键组合是反向增量查找消息历史。很好用。 比如你很久以前输入过某个命令如。 gcc -c -DKKT -
Dnnn 等等,一长串, ......

Linux下的C编程实战之文件系统编程

1.Linux文件系统
  Linux

持多种文件系统,如ext、ext2、minix、iso9660、msdos、fat、vfat、nfs等。在这些具体文件系统的上层,Linux提供
了虚拟文件系统(VFS)来统一它们的行为,虚拟文件系统为不同的文件系统与内核的通信提供了一致的接口。下图给出了Linux中文件系统的关系:
  在Linux平台下对文件编程可 ......

linux学习记录(一)

一、打开/etc/apt/source.list源列表文件加放源
二、make 工具:
                       make默认查找的文件名:GNUmakefile  makefile Makefile
       &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号