LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â(Ò»)
------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô´´,»¶Ó×ªÔØ!
×ªÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»£ºÇ°ÑÔ
ÔÚ¼üÅÌÇý¶¯´úÂë·ÖÎöµÄ±Ê¼ÇÖУ¬½Ó´¥µ½ÁËinput×Óϵͳ.¼üÅÌÇý¶¯£¬¼üÅÌÇý¶¯½«¼ì²âµ½µÄËùÓа´¼ü¶¼Éϱ¨¸øÁËinput×Óϵͳ¡£Input×ÓϵͳÊÇËùÓÐI/OÉ豸Çý¶¯µÄÖмä²ã£¬ÎªÉϲãÌṩÁËÒ»¸öͳһµÄ½çÃæ¡£ÀýÈ磬ÔÚÖÕ¶ËϵͳÖУ¬ÎÒÃDz»ÐèҪȥ¹ÜÓжàÉÙ¸ö¼üÅÌ£¬¶àÉÙ¸öÊó±ê¡£ËüÖ»Òª´Óinput×ÓϵͳÖÐȥȡ¶ÔÓ¦µÄʼþ(°´¼ü£¬Êó±êÒÆÎ»µÈ)¾Í¿ÉÒÔÁË¡£½ñÌì¾Í¶Ôinput×Óϵͳ×öÒ»¸öÏ꾡µÄ·ÖÎö.
ÏÂÃæµÄ´úÂëÊÇ»ùÓÚlinux kernel 2.6.25.·ÖÎöµÄ´úÂëÖ÷ҪλÓÚkernel2.6.25/drivers/inputÏÂÃæ.
¶þ£ºÊ¹ÓÃinput×ÓϵͳµÄÀý×Ó
ÔÚÄÚºË×Ô´øµÄÎĵµDocumentation/input/input-programming.txtÖС£ÓÐÒ»¸öʹÓÃinput×ÓϵͳµÄÀý×Ó£¬²¢¸½´øÏàÓ¦µÄ˵Ã÷¡£ÒÔ´ËΪÀý·ÖÎöÈçÏ£º
#include <linux/input.h>
#include <linux/module.h>
#include <linux/init.h>
#include <asm/irq.h>
#include <asm/io.h>
static void button_interrupt(int irq, void *dummy, struct pt_regs *fp)
{
input_report_key(&button_dev, BTN_1, inb(BUTTON_PORT) & 1);
input_sync(&button_dev);
}
static int __init button_init(void)
{
if (request_irq(BUTTON_IRQ, button_interrupt, 0, "button", NULL)) {
printk(KERN_ERR "button.c: Can't allocate irq %d\n", button_irq);
return -EBUSY;
}
button_dev.evbit[0] = BIT(EV_KEY);
button_dev.keybit[LONG(BTN_0)] = BIT(BTN_0);&n
Ïà¹ØÎĵµ£º
ÏÈÀ´Á˽âÒ»ÏÂÎļþÊôÐÔ£¬
ÔÚshell»·¾³ÀïÊäÈ룺ls -l ¿ÉÒԲ鿴µ±Ç°Ä¿Â¼Îļþ¡£È磺
drwxr-xr-x 2 nsf users 1024 12-10 17:37 ÏÂÔØÎļþ±¸·Ý
·Ö±ð¶ÔÓ¦µÄÊÇ£º
ÎļþÊôÐÔ Á¬½ÓÊý ÎļþÓµÓÐÕß ËùÊôȺ×é Îļþ´óС ÎļþÐÞ¸Äʱ¼ä ÎļþÃû
ÕâÀïrÊǿɶÁ£¬w¿Éд,x ¿ÉÖ´ÐУ¬ÆäÖÐÎļþÊôÐÔ·ÖΪËĶΣ¬---- --- --- 10¸öλÖÃ
ÀýÈ磺
¡¡¡¡d ......
LinuxϵͳÏ»ù±¾ÃüÁ 񻂿·Ö´óСд uname ÏÔʾ°æ±¾ÐÅÏ¢£¨Í¬win2KµÄ ver£© dir ÏÔʾµ±Ç°Ä¿Â¼Îļþ,ls -al ÏÔʾ°üÀ¨Òþ²ØÎļþ£¨Í¬win2KµÄ dir£© pwd ²éѯµ±Ç°ËùÔÚµÄĿ¼λÖà cd cd¡¡..»Øµ½ÉÏÒ»²ãĿ¼£¬×¢Òâcd Óë..Ö®¼äÓпոñ¡£cd¡¡/·µ»Øµ½¸ùĿ¼¡£ cat ÎļþÃû ²é¿´ÎļþÄÚÈÝ cat >abc.txt Íùabc.txtÎļþÖÐдÉÏÄÚÈÝ¡£ more Î ......
ËäÈ»mplayerµÄ°²×°·½·¨ÒѾ²»ÊÇʲô¼¼Êõ»î£¬µ«×î½üÓв»ÉÙͬѧÔÚѯÎÊÎÒ¹ØÓÚmplayerµÄ°²×°·½·¨µÄÎÊÌâ¡£ÎÒÒ»¹áÍÆ¼öËüÃÇÔ´´úÂë°üµÄ°²×°£¬ËäÈ»²½ÖèÓÐЩ¸´ÔÓ£¬µ«½âÂëÆ÷ºÍ¶þ½øÖƳÌÐò¶¼¾¡ÔÚÕÆÎÕ£¬ÐÄÀï̤ʵ¡£
£½£½£½
1
ÏÂÔØÈçÏÂÕâЩÈí¼þ£º
all-20071007.tar.bz2
windows-all-20071007.zip
Blue-1.7.tar.bz2
MPlayer-1.0rc2.ta ......
ls -l|grep ^d ----Áгöµ±Ç°Ä¿Â¼ÏµÄÎļþ¼Ð
ls -l|grep ^d|grep "tmp" ----Áгöµ±Ç°Ä¿Â¼ÏÂÃ÷×Óº¬ÓÐ"tmp"µÄÎļþ¼Ð
for dir in `ls -l ~/dxy/|grep ^d | awk '{print $9}'` ---- awk '{print $9}' ,Ö»print Îļþ¼ÐµÄÃû×Ö
do
echo "==== $dir"
cd ~/dxy;cd $dir/
t=`ls -l|grep ^d|grep " ......
˵Ã÷£º±¾ÎÄÒÔÖ÷ÒªÎª×ªÔØÄÚÈÝ£¬Í¬Ê±¼ÓÈëÁËÎÒÔÚʹÓùý³ÌÖÐÓöµ½ÎÊÌâ¶ÔÆäµÄÐÞÕý£¡£¡£¡£¡£¡£¡£¡£¡£¡
ÏÈ˵statfs½á¹¹£º
#include <sys/vfs.h> /* »òÕß <sys/statfs.h> */
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
²ÎÊý£º ......