Enable/Disable Linux mousekeys
gcc mousekey.c -lX11 -IX11
´ò¿ªmousekeysÔËÐÐ./a.out
¹Ø±ÕmousekeysÔËÐÐ./a.out 1,ÕâÀïÔÚa.outºóÃæËæ±ã¼ÓÒ»¸ö²ÎÊý¾Í¿ÉÒÔÁË£¬ÒòΪÅжÏÌõ¼þΪ if(argc < 2)
/*********source code***************/
#include <stdio.h>
#include <string.h>
#include <X11/Xlib.h>
#include <X11/XKBlib.h>
int main(int argc, char *argv[])
{
Display *display;
unsigned long which;
XkbDescPtr xkb;
unsigned int status_mask = 0;
unsigned short mk_delay = 160;
unsigned short mk_interval = 50;
unsigned short mk_time_to_max = 30;
unsigned short mk_max_speed = 50;
short mk_curve = 0;
Status S;
status_mask = XkbMouseKeysMask;
display = XOpenDisplay(NULL);
xkb = XkbGetMap(display, 0, XkbUseCoreKbd);
if((int)xkb == BadAlloc || xkb == NULL)
{
printf("ERROR: unable to allocate storege.\n");
return 1;
}
if((S = XkbGetControls(display, XkbAllControlsMask, xkb)) != Success)
{
if(S == BadAlloc)
printf("ERROR: Unable to allocate storage.\n");
else if(S == BadMatch)
printf("ERROR: Unable to query state of keyboard.\n");
else printf("ERROR: Unable to get state of keyboard controls. \n");
return 2;
}
unsigned int changeEnabled = 0;
unsigned int enabled = 0;
changeEnabled |=status_mask;
if(argc < 2)
enabled |= status_mask;
if(xkb->ctrls)
{
xkb->ctrls->enabled_ctrls &=~changeEnabled;
xkb->ctrls->enabled_ctrls |=(changeEnabled & enabled);
xkb->ctrls->mk_delay = mk_delay;
xkb->ctrls->mk_interval = mk_interval;
xkb->ctrls->mk_time_to_max = mk_time_to_max;
xkb->ctrls->mk_max_speed = mk_max_speed;
&nb
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ÔÎÄÁ´½Ó£ºhttp://www.trucy.org/blog/archives/eoiae/000087.html
GDBÊÇÒ»¸öÇ¿´óµÄÃüÁîÐе÷ÊÔ¹¤¾ß¡£´ó¼ÒÖªµÀÃüÁîÐеÄÇ¿´ó¾ÍÊÇÔÚÓÚ£¬Æä¿ÉÒÔÐγÉÖ´ÐÐÐòÁУ¬Ðγɽű¾¡£UNIXϵÄÈí¼þÈ«ÊÇÃüÁîÐеģ¬Õâ¸ø³ÌÐò¿ª·¢Ìá´ú¹©Á˼«´óµÄ±ãÀû£¬ÃüÁîÐÐÈí¼þµÄÓÅÊÆÔÚÓÚ£¬ËüÃÇ¿ÉÒԷdz£ÈÝÒ׵ÉÔÚÒ» ......
Linux Ê×ÏÈ´´½¨ramfsÎļþϵͳ(/)
È»ºó°Ñinitrd.imgÎļþ¼ÓÔØµ½ / Ŀ¼Ï¡£
ÆäËüÎļþϵͳÊÇ×öΪramfsµÄÒ»¸öĿ¼½áµã¹ÒÔØÉÏÈ¥µÄ¡£
initrd.imgÊÇÒ»¸öÓÃzipѹËõµÄcpio¸ñʽµÄѹËõÎļþ¡£°´ÏÂÃæ²½ÖèʵÏÖ½âѹ
µÚÒ»²½£º½«initrd.img¸ÄÃûΪinitrd.img.gz
mv initrd.img initrd.img.gz
µÚ¶þ²½£ºÓÃgunzip½âѹÉú³Éinitrd.img
gunzi ......
ÔÚLinuxÖÐÓÃttySxµÄÐÎʽÀ´±íʾ´®¿ÚÉ豸Ãû£¬Èç COM1±»±íʾΪttyS0£¬COM2±»±íʾΪttyS1£¬ÒÔ´ËÀàÍÆ¡£ÏÂÃæÕâ¸öÃüÁîÏÔʾϵͳÖб»¼ì²âµ½µÄ´®¿Ú£º
# dmesg | grep ttyS
[ 25.942157] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 25.942840] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) ......
1¡¢ ¹ØÓÚÍøÂç½Ó¿Ú¼°ÅäÖù¤¾ß˵Ã÷£»
ÍøÂç½Ó¿Ú(interface)ÊÇÍøÂçÓ²¼þÉ豸ÔÚ²Ù×÷ϵͳÖеıíʾ·½·¨£¬±ÈÈçÍø¿¨ÔÚLinux²Ù×÷ϵͳÖÐÓà ethX,ÊÇÓÉ0¿ªÊ¼µÄÕýÕûÊý£¬±ÈÈçeth0¡¢eth1...... ethX¡£¶øÆÕͨèºÍADSLµÄ½Ó¿ÚÊÇ pppX£¬±ÈÈçppp0µÈ£»
ÔÚLinux²Ù×÷ϵͳÖÐÅäÖÃÍøÂç½Ó¿Ú£¬Ò»°ãÊÇͨ¹ýÍøÂçÅäÖù¤¾ßʵÏֵ쬵«×îÖÕÄ¿µÄ»¹ÊÇͨ¹ýÍ ......