Input Processing================Input Server messages---------------------The Input Server collects information about keyboard and mouse eventsand forwards them to the app_server via messages. They are sent to portspecifically for such messages, and the port is monitored by a threadwhose task is to monitor, process, and dispatch them to the appropriaterecipients. The Input Server is a regular BApplication, and unlike otherapplications, it requests a port to which it can send input messages.Mouse-----Mouse events consist of button changes, mouse movements, and the mousewheel. The message will consist of the time of the event and attachmentsappropriate for each message listed below:B_MOUSE_DOWN............- when- buttons' status- location of the cursor- modifiers- clicksB_MOUSE_UP..........- time- buttons' status- location of the cursor- modifiersB_MOUSE_MOVED.............- time- location of the cursor- buttons' statusB_MOUSE_WHEEL_CHANGED.....................- time- location of the cursor- transit - in or out- x delta- y deltaKeyboard--------Keyboard events consist of notification when a key is pressed orreleased. Any keypress or release will evoke a message, regardless ofwhether or not the key is mapped. The message will consist of theappropriate code and attachments listed below:B_KEY_DOWN..........- time- key code- repeat count- modifiers- states- UTF-8 code- string generated- modifier-independent ASCII codeB_KEY_UP........- time- key code- modifiers- states- UTF-8 code- string generated- modifier-independent ASCII codeB_UNMAPPED_KEY_DOWN...................- time- key code- modifiers- statesB_UNMAPPED_KEY_UP.................- time- key code- modifiers- statesB_MODIFIERS_CHANGED...................sent when a modifier key changes- time- modifier states- previous modifier states- statesNearly all keypresses received by the app_server are passed onto theappropriate application. Control-Tab, when held, is sent to the Deskbarfor app switching. Command+F?? is intercepted and a workspace isswitched. Left Control + Alt + Delete is not even intercepted by theapp_server. The Input Server receives it and shows the Team Monitorwindow.