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

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

?? miniswt.c

?? FreeWRLduneInputDevice和FreeWRL一起可以讓用戶用帶有6DoF的輸入設備檢索3D VRML/X3D數據。它基于FreeWRL的"/tmp/inpdev"擴展傳感器輸入接口和w
?? C
字號:
/* * minimal XInput version of swt.c - stephen's window toolkit * * Copyright (C) 1999 Stephen F. White *  * 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 (see the file "COPYING" for details); if  * not, write to the Free Software Foundation, Inc., 675 Mass Ave,  * Cambridge, MA 02139, USA. */#include <X11/Xlib.h>#include <X11/IntrinsicP.h>#include <stdio.h>#include "config.h"#include "swtxinput.h"XtAppContext TheAppContext = NULL;static Display *TheDisplay = NULL;voidswInitialize(int *argc, char **argv){    XtToolkitInitialize ();    TheAppContext = XtCreateApplicationContext();    TheDisplay = XtOpenDisplay ( TheAppContext, NULL, NULL, "ProgramClass",    				 NULL, 0, argc, argv);	           if (!TheDisplay) {        int errorflag=1;#ifdef HAVE_X11STARTCOMMAND        if (getenv("DISPLAY") == NULL) {            fprintf(stderr,"$DISPLAY unset, using \"localhost:0\"\n");            setenv("DISPLAY","localhost:0",0);            TheDisplay = XtOpenDisplay ( TheAppContext, NULL, NULL,                                          "ProgramClass", NULL, 0, argc, argv);            if (TheDisplay)               errorflag = 0;            else {                int pid;                fprintf(stderr,"Warning: start on console:\n%s\n",			HAVE_X11STARTCOMMAND);                pid=fork();                if (pid==-1)                    perror("fork: ");                else if (pid==0) {                    setsid();                    if (execlp("/bin/sh","/bin/sh",                               "-c",HAVE_X11STARTCOMMAND,NULL) == -1)                        perror(HAVE_X11STARTCOMMAND);                } else {                    int i;                    /* wait for X11 startup */                    int seconds = 30;                    for (i = 0; i < seconds; i++) {                        TheDisplay = XtOpenDisplay ( TheAppContext, NULL, NULL,                                                     "ProgramClass", NULL, 0,                                                       argc, argv);                        if (TheDisplay) {                            errorflag = 0;                            break;                        }                        sleep(1);                     }                    if (errorflag == 1)                        fprintf(stderr, "failed? %s\n%s after %d %s %d %s\n",                                HAVE_X11STARTCOMMAND, "can't open display",                                seconds,"trials +",seconds,"seconds");                }            }        }#endif         if (errorflag == 1) {            if (getenv("DISPLAY")==NULL)	        fprintf(stderr, "can't open display\n");            else	        fprintf(stderr, "can't open display: %s\n",getenv("DISPLAY"));	    exit(1);        }    }}#ifdef HAVE_XINPUTvoid swInitXinputDevice(struct swXinput* xinput,const char *device)   {   XExtensionVersion* version;   XDeviceInfo *info;   int number_of_devices;   int i;   int MotionEventType, ButtonPressEventType, ButtonReleaseEventType;   int MotionEventClass, ButtonPressEventClass, ButtonReleaseEventClass;   xinput->xinput=NULL;   version=XGetExtensionVersion(TheDisplay,"XInputExtension");   if ((version==NULL) || (version==(void*)NoSuchExtension))      {      fprintf(stderr,"No XInputExtension (%s)\n",device);      return;      };# ifdef DEBUG   printf("X Input Extension Version %d.%d\n",            version->major_version,version->minor_version);# endif   XFree(version);   info=XListInputDevices(TheDisplay,&number_of_devices);   for (i=0;i<number_of_devices;++i)      {      int c;      XAnyClassPtr xclass;      xclass=info[i].inputclassinfo;      if (strcmp(info[i].name,device)==0)         {         xinput->xinput=XOpenDevice(TheDisplay,info[i].id);         for (c=0;c<info[i].num_classes;++c)            {            if (xclass->class==ButtonClass)               {               XButtonInfo *button_class=(XButtonInfo *)xclass;               xinput->number_buttons=button_class->num_buttons;               }            if (xclass->class==ValuatorClass)               {               int i;               XValuatorInfo *axes_class=(XValuatorInfo *)xclass;               XAxisInfoPtr axes=axes_class->axes;               xinput->number_axes=axes_class->num_axes;               xinput->axes=malloc(axes_class->num_axes*sizeof(int));               xinput->minvalue=malloc(axes_class->num_axes*sizeof(int));               xinput->maxvalue=malloc(axes_class->num_axes*sizeof(int));               for (i=0;i<xinput->number_axes;i++)                   {                   xinput->maxvalue[i]=axes->max_value;                   xinput->minvalue[i]=axes->min_value;                   axes++;                   }               }            xclass=(XAnyClassPtr)((char*)xclass+xclass->length);            }         }      }   XFreeDeviceList(info);    if (xinput == NULL)      {      fprintf(stderr,"xinputdevice %s ",device);      fprintf(stderr,"initialisation failed\n");      return;      }   }void swQueryXinputDevice(struct swXinput* xinput)   {   int c;   XDeviceState* state;   XInputClass* xclass;   state=XQueryDeviceState(TheDisplay,xinput->xinput);   if (state==XI_BadDevice)      xinput->xinput=NULL;   xclass=state->data;   for (c=0;c<state->num_classes;++c)      {      if (xclass->class==ButtonClass)         {         XButtonState  *button_class=(XButtonState *)xclass;         xinput->number_buttons=button_class->num_buttons;         }      if (xclass->class==ValuatorClass)         {         XValuatorState *axes_class=(XValuatorState *)xclass;         int i;         for (i=0;i<axes_class->num_valuators;i++)            xinput->axes[i]=axes_class->valuators[i];         }      xclass=(XInputClass*)((char*)xclass+xclass->length);      }   }void swCloseXinputDevice(struct swXinput* xinput)   {   XCloseDevice(TheDisplay,xinput->xinput);   }#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合色综合色综合色综合色综合 | 亚洲精品第1页| 精品视频一区二区三区免费| 精品无人区卡一卡二卡三乱码免费卡| 亚洲色图一区二区三区| 久久午夜国产精品| 欧美日韩国产精选| 色狠狠一区二区三区香蕉| 国产河南妇女毛片精品久久久| 午夜精品福利视频网站| 亚洲色图19p| 国产日韩欧美麻豆| 精品国产一二三区| 欧美一区二区三区性视频| 色综合咪咪久久| 成人黄色在线网站| 国产成人鲁色资源国产91色综| 人人狠狠综合久久亚洲| 亚洲成人激情自拍| 亚洲精品福利视频网站| 亚洲欧美偷拍卡通变态| 中文字幕一区二区不卡| 国产日韩欧美精品综合| 久久久精品tv| 精品va天堂亚洲国产| 日韩三级av在线播放| 欧美色欧美亚洲另类二区| 色综合久久久久网| 色综合天天综合色综合av | 欧美国产综合色视频| 精品国产99国产精品| 日韩视频在线永久播放| 欧美精品日韩综合在线| 精品视频一区三区九区| 欧美日韩视频一区二区| 欧美手机在线视频| 欧美三区在线视频| 欧美日韩国产成人在线91| 欧美视频在线观看一区| 欧美亚洲高清一区| 精品视频资源站| 欧美一区二区在线不卡| 欧美一二三四在线| 91精品一区二区三区在线观看| 欧美久久久久久久久中文字幕| 欧美日韩精品一区二区三区四区 | 日本三级韩国三级欧美三级| 日本欧美一区二区在线观看| 麻豆成人综合网| 国模少妇一区二区三区| 国产suv一区二区三区88区| 国产xxx精品视频大全| 91小视频在线| 欧美日韩一区久久| 欧美大片一区二区三区| 国产亚洲短视频| 亚洲色图欧美在线| 手机精品视频在线观看| 另类成人小视频在线| 国产成人免费网站| 91老师国产黑色丝袜在线| 在线视频中文字幕一区二区| 国产精品亚洲人在线观看| 成人国产亚洲欧美成人综合网| 色婷婷av一区二区三区软件| 91精品国产综合久久蜜臀| 久久众筹精品私拍模特| 日韩码欧中文字| 日本视频中文字幕一区二区三区| 国产精品一品二品| 在线亚洲+欧美+日本专区| 日韩精品一区二区三区蜜臀| 国产精品久久一级| 亚洲成人免费视频| 国产夫妻精品视频| 欧美日韩精品二区第二页| 久久精品一区二区| 亚洲第一主播视频| 国产乱码字幕精品高清av| 色狠狠色噜噜噜综合网| 欧美精品一区二区三区久久久| 亚洲欧美日韩在线| 麻豆一区二区在线| 在线观看一区二区视频| 国产亚洲污的网站| 婷婷成人激情在线网| 成人一区二区三区中文字幕| 欧美日韩mp4| 综合在线观看色| 国产一区二区视频在线| 欧美性做爰猛烈叫床潮| 亚洲国产精品99久久久久久久久| 日韩精品久久理论片| 91美女精品福利| 久久久久国产精品麻豆| 午夜精品一区二区三区免费视频 | 欧美一区二区啪啪| 自拍偷拍欧美激情| 国产在线不卡一卡二卡三卡四卡| 欧美亚洲综合另类| 国产精品久久久久久久久久免费看| 日韩精品一二三| 91麻豆精品在线观看| 26uuu精品一区二区| 天使萌一区二区三区免费观看| 色综合久久综合网97色综合 | 日本精品一区二区三区高清 | 国产精品久久久久影院色老大| 日韩综合小视频| 日本韩国一区二区三区视频| 国产午夜一区二区三区| 极品美女销魂一区二区三区| 9191久久久久久久久久久| 亚洲欧美激情视频在线观看一区二区三区| 激情综合色丁香一区二区| 欧美日韩精品系列| 一二三区精品福利视频| 99精品国产99久久久久久白柏| 久久精品在这里| 极品少妇一区二区| 欧美成人女星排行榜| 日本成人超碰在线观看| 欧美日韩视频在线观看一区二区三区| 亚洲视频一区二区在线| 成人激情图片网| 国产精品福利av| 99久精品国产| 亚洲人成人一区二区在线观看| 欧美一二三区精品| 日韩和的一区二区| 日韩一二三四区| 麻豆高清免费国产一区| 欧美成人综合网站| 久久成人久久鬼色| 2023国产精华国产精品| 国产精品18久久久久久久久久久久| 欧美精品一区二区三区在线 | 国产女人aaa级久久久级| 国产凹凸在线观看一区二区| 中文字幕第一区| 97久久精品人人爽人人爽蜜臀| 亚洲女同女同女同女同女同69| 97精品国产露脸对白| 亚洲最大的成人av| 欧美日韩卡一卡二| 奇米精品一区二区三区四区| 亚洲精品一区二区三区蜜桃下载| 国内精品久久久久影院色| 久久伊人蜜桃av一区二区| 丰满放荡岳乱妇91ww| 国产精品国产三级国产aⅴ入口 | 欧美一区在线视频| 激情综合色丁香一区二区| 中文字幕免费观看一区| 91在线精品一区二区三区| 亚洲综合图片区| 欧美日韩黄色一区二区| 老司机精品视频在线| 国产欧美在线观看一区| 91社区在线播放| 日韩av成人高清| 国产午夜亚洲精品理论片色戒| 91免费观看视频| 毛片av一区二区| 亚洲天堂福利av| 在线电影院国产精品| 国产综合色视频| 亚洲欧美日韩国产综合| 欧美日韩国产片| 国产成人免费av在线| 亚洲电影在线播放| 久久综合色一综合色88| 一本色道久久综合亚洲91| 日韩精品欧美精品| 国产精品九色蝌蚪自拍| 在线电影欧美成精品| 成人中文字幕在线| 日韩高清不卡一区二区三区| 国产丝袜欧美中文另类| 欧美日韩一级黄| 成人久久18免费网站麻豆| av在线综合网| 一本大道综合伊人精品热热| 日韩三级在线观看| 亚洲高清免费一级二级三级| 综合激情网...| 亚洲自拍与偷拍| 久久国内精品视频| 色又黄又爽网站www久久| 26uuu国产电影一区二区| 久久免费视频一区| 亚洲一二三级电影| 国产精品456| 日本高清不卡视频| 欧美经典一区二区| 亚洲欧美区自拍先锋| 国产成人午夜电影网| 日韩高清不卡一区| 亚洲色图制服丝袜| 国产欧美一区视频|