亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hid-debug.h

?? Linux內核源代碼 為壓縮文件 是<<Linux內核>>一書中的源代碼
?? H
字號:
/* * $Id: hid-debug.h,v 1.2 2000/05/29 10:54:53 vojtech Exp $ * *  (c) 1999 Andreas Gal	<gal@cs.uni-magdeburg.de> *  (c) 2000 Vojtech Pavlik	<vojtech@suse.cz> * *  Some debug stuff for the HID parser. * *  Sponsored by SuSE *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Should you need to contact me, the author, you can do so either by * e-mail - mail your message to <vojtech@suse.cz>, or by paper mail: * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic */struct hid_usage_entry {	unsigned  page;	unsigned  usage;	char     *description;};static struct hid_usage_entry hid_usage_table[] = {  {  1,      0, "GenericDesktop" },    {0, 0x01, "Pointer"},    {0, 0x02, "Mouse"},    {0, 0x04, "Joystick"},    {0, 0x05, "GamePad"},    {0, 0x06, "Keyboard"},    {0, 0x07, "Keypad"},    {0, 0x08, "MultiAxis"},      {0, 0x30, "X"},      {0, 0x31, "Y"},      {0, 0x32, "Z"},      {0, 0x33, "Rx"},      {0, 0x34, "Ry"},      {0, 0x35, "Rz"},      {0, 0x36, "Slider"},      {0, 0x37, "Dial"},      {0, 0x38, "Wheel"},      {0, 0x39, "HatSwitch"},    {0, 0x3a, "CountedBuffer"},      {0, 0x3b, "ByteCount"},      {0, 0x3c, "MotionWakeup"},      {0, 0x3d, "Start"},      {0, 0x3e, "Select"},      {0, 0x40, "Vx"},      {0, 0x41, "Vy"},      {0, 0x42, "Vz"},      {0, 0x43, "Vbrx"},      {0, 0x44, "Vbry"},      {0, 0x45, "Vbrz"},      {0, 0x46, "Vno"},    {0, 0x80, "SystemControl"},       {0, 0x81, "SystemPowerDown"},      {0, 0x82, "SystemSleep"},      {0, 0x83, "SystemWakeUp"},      {0, 0x84, "SystemContextMenu"},      {0, 0x85, "SystemMainMenu"},      {0, 0x86, "SystemAppMenu"},      {0, 0x87, "SystemMenuHelp"},      {0, 0x88, "SystemMenuExit"},      {0, 0x89, "SystemMenuSelect"},      {0, 0x8a, "SystemMenuRight"},      {0, 0x8b, "SystemMenuLeft"},      {0, 0x8c, "SystemMenuUp"},      {0, 0x8d, "SystemMenuDown"},    {0, 0x90, "D-padUp"},    {0, 0x91, "D-padDown"},    {0, 0x92, "D-padRight"},    {0, 0x93, "D-padLeft"},  {  7, 0, "Keyboard" },  {  8, 0, "LED" },  {  9, 0, "Button" },  { 12, 0, "Hotkey" },  { 13, 0, "Digitizers" },    {0, 0x01, "Digitizer"},    {0, 0x02, "Pen"},    {0, 0x03, "LightPen"},    {0, 0x04, "TouchScreen"},    {0, 0x05, "TouchPad"},    {0, 0x20, "Stylus"},    {0, 0x21, "Puck"},    {0, 0x22, "Finger"},    {0, 0x30, "TipPressure"},    {0, 0x31, "BarrelPressure"},    {0, 0x32, "InRange"},    {0, 0x33, "Touch"},    {0, 0x34, "UnTouch"},    {0, 0x35, "Tap"},    {0, 0x39, "TabletFunctionKey"},    {0, 0x3a, "ProgramChangeKey"},    {0, 0x3c, "Invert"},    {0, 0x42, "TipSwitch"},    {0, 0x43, "SecondaryTipSwitch"},    {0, 0x44, "BarrelSwitch"},    {0, 0x45, "Eraser"},    {0, 0x46, "TabletPick"},  { 15, 0, "PhysicalInterfaceDevice" },  { 0, 0, NULL }};static void resolv_usage_page(unsigned page) {	struct hid_usage_entry *p;	for (p = hid_usage_table; p->description; p++)		if (p->page == page) {			printk("%s", p->description);			return;		}	printk("%04x", page);}static void resolv_usage(unsigned usage) {	struct hid_usage_entry *p;	resolv_usage_page(usage >> 16);	printk(".");	for (p = hid_usage_table; p->description; p++)		if (p->page == (usage >> 16)) {			for(++p; p->description && p->page == 0; p++)				if (p->usage == (usage & 0xffff)) {					printk("%s", p->description);					return;				}			break;		}	printk("%04x", usage & 0xffff);}__inline__ static void tab(int n) {	while (n--) printk(" ");}static void hid_dump_field(struct hid_field *field, int n) {	int j;		if (field->physical) {		tab(n);		printk("Physical(");		resolv_usage(field->physical); printk(")\n");	}	if (field->logical) {		tab(n);		printk("Logical(");		resolv_usage(field->logical); printk(")\n");	}	tab(n); printk("Usage(%d)\n", field->maxusage);	for (j = 0; j < field->maxusage; j++) {		tab(n+2);resolv_usage(field->usage[j].hid); printk("\n");	}	if (field->logical_minimum != field->logical_maximum) {		tab(n); printk("Logical Minimum(%d)\n", field->logical_minimum);		tab(n); printk("Logical Maximum(%d)\n", field->logical_maximum);	}	if (field->physical_minimum != field->physical_maximum) {		tab(n); printk("Physical Minimum(%d)\n", field->physical_minimum);		tab(n); printk("Physical Maximum(%d)\n", field->physical_maximum);	}	if (field->unit_exponent) {		tab(n); printk("Unit Exponent(%d)\n", field->unit_exponent);	}	if (field->unit) {		tab(n); printk("Unit(%u)\n", field->unit);	}	tab(n); printk("Report Size(%u)\n", field->report_size);	tab(n); printk("Report Count(%u)\n", field->report_count);	tab(n); printk("Report Offset(%u)\n", field->report_offset);	tab(n); printk("Flags( ");	j = field->flags;	printk("%s", HID_MAIN_ITEM_CONSTANT & j ? "Constant " : "");	printk("%s", HID_MAIN_ITEM_VARIABLE & j ? "Variable " : "Array ");	printk("%s", HID_MAIN_ITEM_RELATIVE & j ? "Relative " : "Absolute ");	printk("%s", HID_MAIN_ITEM_WRAP & j ? "Wrap " : "");	printk("%s", HID_MAIN_ITEM_NONLINEAR & j ? "NonLinear " : "");	printk("%s", HID_MAIN_ITEM_NO_PREFERRED & j ? "NoPrefferedState " : "");	printk("%s", HID_MAIN_ITEM_NULL_STATE & j ? "NullState " : "");	printk("%s", HID_MAIN_ITEM_VOLATILE & j ? "Volatile " : "");	printk("%s", HID_MAIN_ITEM_BUFFERED_BYTE & j ? "BufferedByte " : "");	printk(")\n");}void hid_dump_device(struct hid_device *device) {	struct hid_report_enum *report_enum;	struct hid_report *report;	struct list_head *list;	unsigned i,k;	static char *table[] = {"INPUT", "OUTPUT", "FEATURE"};		printk("Application(");	resolv_usage(device->application);	printk(")\n");	for (i = 0; i < HID_REPORT_TYPES; i++) {		report_enum = device->report_enum + i;		list = report_enum->report_list.next;		while (list != &report_enum->report_list) {			report = (struct hid_report *) list;			tab(2);			printk("%s", table[i]);			if (report->id)				printk("(%d)", report->id);			printk("[%s]", table[report->type]);			printk("\n");			for (k = 0; k < report->maxfield; k++) {				tab(4);				printk("Field(%d)\n", k);				hid_dump_field(report->field[k], 6);			}			list = list->next;		}	}}void hid_dump_input(struct hid_usage *usage, __s32 value) {	printk("hidd: input ");	resolv_usage(usage->hid);	printk(" = %d\n", value);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
有码一区二区三区| 91成人免费在线| 夜夜嗨av一区二区三区| 国产欧美日产一区| 欧美国产一区视频在线观看| 精品国产一区二区三区久久久蜜月 | 99re成人精品视频| 中文字幕亚洲一区二区va在线| 欧美做爰猛烈大尺度电影无法无天| 亚洲国产综合91精品麻豆| 日韩你懂的电影在线观看| 国内精品伊人久久久久影院对白| 欧美日韩免费观看一区二区三区| 日本怡春院一区二区| 国产精品麻豆网站| 97久久超碰精品国产| 天天操天天干天天综合网| 欧美精品一区二区三区蜜臀| 精品中文字幕一区二区小辣椒| 国产精品久久福利| 日韩精品一区二区三区视频| 99久久精品久久久久久清纯| 国产精品成人免费在线| 久久影院视频免费| 91免费观看在线| 成人高清免费观看| 国产成人精品1024| 国产精品99久久久久久似苏梦涵 | 97久久精品人人做人人爽50路 | 香蕉影视欧美成人| 亚洲精品精品亚洲| 亚洲精品日产精品乱码不卡| 亚洲欧美日韩国产综合在线| 亚洲少妇屁股交4| 国产精品色呦呦| 中文字幕亚洲在| 亚洲欧美日本在线| 亚洲福利国产精品| 亚洲成av人片| 男女性色大片免费观看一区二区| 日韩av一区二区在线影视| 亚洲成人你懂的| 日韩电影网1区2区| 看片的网站亚洲| 91免费精品国自产拍在线不卡| 亚洲欧美日韩国产成人精品影院| 日韩美女啊v在线免费观看| 亚洲欧美电影一区二区| 中文字幕一区二区三区乱码在线 | 日韩一级片在线观看| 欧美精品一区二区三区很污很色的| 欧美v亚洲v综合ⅴ国产v| 精品久久久久久久久久久久久久久| 久久这里都是精品| 中文字幕一区二区不卡| 亚洲午夜在线视频| 久久成人免费日本黄色| 韩国三级中文字幕hd久久精品| 成人蜜臀av电影| 欧洲av在线精品| 欧美tickling网站挠脚心| 国产视频一区在线播放| 亚洲人被黑人高潮完整版| 日韩1区2区3区| 国产伦精品一区二区三区免费| 99久久精品免费看| 337p亚洲精品色噜噜噜| 国产精品久久久久久久久免费桃花 | 日韩一区二区三区观看| 一本到高清视频免费精品| 精品视频在线免费看| 69堂成人精品免费视频| 91精品国产欧美一区二区| 91精品在线免费观看| 中文字幕亚洲视频| 亚洲精品一区二区三区影院 | 国产三级久久久| 亚洲国产婷婷综合在线精品| 麻豆精品一二三| 色综合久久中文字幕综合网| 欧洲av在线精品| 国产精品久久久久久户外露出 | 自拍偷拍亚洲综合| 久久成人av少妇免费| 91福利小视频| 中文av一区特黄| 久久国内精品视频| 在线精品视频免费观看| 中国色在线观看另类| 麻豆一区二区三区| 欧美理论在线播放| 一级精品视频在线观看宜春院| 国产一区999| 日韩精品自拍偷拍| 日韩国产精品91| 欧美色区777第一页| 亚洲精品自拍动漫在线| 大美女一区二区三区| 精品人在线二区三区| 日韩精彩视频在线观看| 欧美三级欧美一级| 一个色在线综合| 色偷偷久久一区二区三区| 中文字幕av一区二区三区高| 韩国av一区二区三区| 精品国产欧美一区二区| 免费一区二区视频| 欧美一级生活片| 日韩电影在线一区二区| 91精品欧美福利在线观看 | 国产精品综合二区| 欧美精品一区二区三| 午夜av一区二区三区| 色拍拍在线精品视频8848| 亚洲一区二区三区四区在线| 在线中文字幕不卡| 这里只有精品电影| 亚洲欧洲一区二区在线播放| 国产一区激情在线| 久久久久久麻豆| 国产中文一区二区三区| 国产精品二三区| 免费观看一级特黄欧美大片| 国产一区二区三区精品欧美日韩一区二区三区 | 7777精品伊人久久久大香线蕉的 | 国产精品护士白丝一区av| 精品亚洲aⅴ乱码一区二区三区| 在线观看亚洲成人| 日韩精品一区二区三区在线观看| 日产国产欧美视频一区精品 | 欧美视频日韩视频| 蜜桃视频在线观看一区二区| 日韩欧美中文字幕精品| 久久久久久一级片| 蜜臀av在线播放一区二区三区| 欧美综合在线视频| 久久亚洲综合色一区二区三区 | eeuss鲁片一区二区三区在线看| 亚洲色大成网站www久久九九| 欧美午夜影院一区| 精品亚洲aⅴ乱码一区二区三区| 欧美日韩国产电影| 国产成人精品免费在线| 亚洲一区在线观看视频| 日韩欧美的一区| 99久久精品情趣| 一本一道综合狠狠老| 欧美国产视频在线| 欧美怡红院视频| 六月丁香婷婷色狠狠久久| ●精品国产综合乱码久久久久| 91精品国产手机| 99精品视频一区| 男人操女人的视频在线观看欧美| 国产精品免费av| 日韩欧美一卡二卡| 91亚洲永久精品| 国内精品伊人久久久久av影院| 亚洲蜜臀av乱码久久精品| 欧美变态tickle挠乳网站| 日本韩国一区二区| 蜜臀99久久精品久久久久久软件 | 亚洲免费观看高清完整版在线| 欧美成人女星排名| 欧美在线观看视频一区二区三区 | 欧美日本国产一区| 成人免费视频app| 久久精品国产澳门| 日韩精品一区第一页| 中文字幕中文字幕一区| 精品少妇一区二区三区免费观看| 91蜜桃在线观看| 国产福利精品一区| 狠狠色2019综合网| 麻豆久久久久久| 婷婷中文字幕综合| 亚洲综合999| 日韩免费视频一区二区| 91片黄在线观看| 成人三级伦理片| 男女男精品网站| 亚洲伦理在线免费看| 高清不卡一区二区| 亚洲一区二区三区四区在线 | 日韩一区欧美小说| 亚洲精品一区二区三区香蕉| 久久久久久久网| 亚洲电影一级黄| 国产成人欧美日韩在线电影| 欧美在线999| 国产色综合久久| 婷婷中文字幕综合| 成人涩涩免费视频| 日韩美女主播在线视频一区二区三区| 欧美国产国产综合| 美日韩一区二区三区| 欧亚洲嫩模精品一区三区| 久久久精品综合| 男人的天堂久久精品| 在线视频一区二区三|