📄 solio.c
字号:
/* * solIo.c * * remade by A.Fujita, DEC-16-1992 */#include "sol.h"#include "solKbd.h"int lastEventTime = 0;static void (* solIoHandler)(); voidsolSetIoHandler( ioHandler )void (* ioHandler)(); {#ifdef DEBUG fprintf(stderr, "solSetIoHandler\t[solIo.c]\tStart\n");#endif solIoHandler = ioHandler;#ifdef DEBUG fprintf(stderr, "solSetIoHandler\t[solIo.c]\tEnd\n");#endif}voidsolWakeupProc(blockData, result, pReadmask)pointer blockData;unsigned long result;pointer pReadmask;{ long devicesReadable[mskcnt]; if(result <= 0) return; MASKANDSETBITS(devicesReadable, LastSelectMask, EnabledDevices); if(ANYSET(devicesReadable)) { (* solIoHandler)(); }}voidProcessInputEvents(){ mieqProcessInputEvents(); miPointerUpdate();}solDevEvt evtbuf[MAXEVENTS];voidsolEnqueueEvents(){ DevicePtr pPtr; DevicePtr pKbd; struct msdata *ptrEvents; unsigned char *KbdEvents; register int numEvt; register solDevEvtPtr evp; Bool ptrRetry, kbdRetry; pPtr = LookupPointerDevice(); pKbd = LookupKeyboardDevice(); evp = evtbuf; numEvt = solDevGetEvents(evp); while (numEvt-- > 0) { if (evp->type == EvtKey) { solKbdEnqueueEvent(pKbd, evp); } else { solMouseEnqueueEvent(pPtr, evp); } evp++; }/* if (!pPtr->on || !pKbd->on) return; kbdRetry = TRUE; while( kbdRetry ) { KbdEvents = solKbdGetEvents(pKbd, &nk, &kbdRetry); while(nk--) { solKbdEnqueueEvent(pKbd, KbdEvents++); } } ptrRetry = TRUE; while( ptrRetry ) { ptrEvents = solMouseGetEvents(pPtr, &np, &ptrRetry); while(np--) { solMouseEnqueueEvent(pPtr, ptrEvents++); } } */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -