1Input Processing 2================ 3 4Input Server messages 5--------------------- 6 7The Input Server collects information about keyboard and mouse events 8and forwards them to the app_server via messages. They are sent to port 9specifically for such messages, and the port is monitored by a thread 10whose task is to monitor, process, and dispatch them to the appropriate 11recipients. The Input Server is a regular BApplication, and unlike other 12applications, it requests a port to which it can send input messages. 13 14Mouse 15----- 16 17Mouse events consist of button changes, mouse movements, and the mouse 18wheel. The message will consist of the time of the event and attachments 19appropriate for each message listed below: 20 21B_MOUSE_DOWN 22............ 23 24- when 25- buttons' status 26- location of the cursor 27- modifiers 28- clicks 29 30B_MOUSE_UP 31.......... 32 33- time 34- buttons' status 35- location of the cursor 36- modifiers 37 38B_MOUSE_MOVED 39............. 40 41- time 42- location of the cursor 43- buttons' status 44 45B_MOUSE_WHEEL_CHANGED 46..................... 47 48- time 49- location of the cursor 50- transit - in or out 51- x delta 52- y delta 53 54Keyboard 55-------- 56 57Keyboard events consist of notification when a key is pressed or 58released. Any keypress or release will evoke a message, regardless of 59whether or not the key is mapped. The message will consist of the 60appropriate code and attachments listed below: 61 62B_KEY_DOWN 63.......... 64 65- time 66- key code 67- repeat count 68- modifiers 69- states 70- UTF-8 code 71- string generated 72- modifier-independent ASCII code 73 74B_KEY_UP 75........ 76 77- time 78- key code 79- modifiers 80- states 81- UTF-8 code 82- string generated 83- modifier-independent ASCII code 84 85B_UNMAPPED_KEY_DOWN 86................... 87 88- time 89- key code 90- modifiers 91- states 92 93B_UNMAPPED_KEY_UP 94................. 95 96- time 97- key code 98- modifiers 99- states 100 101B_MODIFIERS_CHANGED 102................... 103 104sent when a modifier key changes 105 106- time 107- modifier states 108- previous modifier states 109- states 110 111Nearly all keypresses received by the app_server are passed onto the 112appropriate application. Control-Tab, when held, is sent to the Deskbar 113for app switching. Command+F?? is intercepted and a workspace is 114switched. Left Control + Alt + Delete is not even intercepted by the 115app_server. The Input Server receives it and shows the Team Monitor 116window. 117 118 119