📄 xtest1.frags
字号:
There are several code fragments that need to be placed in the devicedependent part of the server. These are described below. These codefragments are device and implementation dependent.This code fragment should go in your ddx InitInput() routine:#ifdef XTESTEXT1extern KeyCode xtest_command_key;#endif#ifdef XTESTEXT1 xtest_command_key = <whatever-is-a-good-keycode-for-your-keyboard>;#endifThis code fragment should go at the front of the file that handleskeyboards:#ifdef XTESTEXT1/* * defined in xtestext1di.c */extern int on_steal_input;extern Bool XTestStealKeyData();#endif XTESTEXT1This code fragment should go in the function that parses input from thekeyboard or pointer after you know what input action has occurred, but beforeyou have told the server about it. If conditionalizes the actual functioncall to pass the information on:#ifdef XTESTEXT1 if (!on_steal_input || XTestStealKeyData(code, direction, dev_type, x, y))#endif /* XTESTEXT1 */ handle_device_event(...);This code fragment should go in the function that handles mouse motion afteryou have figured out how much the mouse has moved:#ifdef XTESTEXT1 if (on_steal_input) XTestStealMotionData(dx, dy, dev, x, y);#endif XTESTEXT1This code fragment should go at the front of the os-specific code whereyou wait (by doing a select on the socket in our implementation) forsomething to happen:#ifdef XTESTEXT1extern int playback_on;void XTestComputeWaitTime();#endif XTESTEXT1These code fragments should go in the os-specific code on both sides ofwhere you wait (by doing a select on the socket in our implementation)for something to happen:#ifdef XTESTEXT1 if (playback_on) XTestComputeWaitTime(wt = &waittime);#endif XTESTEXT1 ... code to do select ... WakeupHandler(i, LastSelectMask);#ifdef XTESTEXT1 if (playback_on) i = XTestProcessInputAction(i, &waittime);#endif XTESTEXT1You also need to implement the following routines (documentationis needed; for now, see server/ddx/hp/hp/x_hil.c):voidXTestGenerateEvent(dev_type, keycode, keystate, mousex, mousey) int dev_type; int keycode; int keystate; int mousex; int mousey;voidXTestGetPointerPos(fmousex, fmousey) short *fmousex, *fmousey;voidXTestJumpPointer(jx, jy, dev_type) int jx; int jy; int dev_type;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -