181c78d482
This enforces the use of unsigned 64-bit values for time in the duration type, the timeout framework, the timer session, the userland timer-drivers, and the alarm framework on all platforms. The commit also adapts the code that uses these tools accross all basic repositories (base, base-*, os. gems, libports, ports, dde_*) to use unsigned 64-bit values for time as well as far as this does not imply profound modifications. Fixes #3208 |
||
---|---|---|
.. | ||
main.cc | ||
README | ||
target.mk |
The "global-key-handler" component transforms a stream of nitpicker input events to state reports. The states and the ways of how the user input affects the states is configurable. Examples for such states are the system-global capslock and numlock states, or the nitpicker X-ray mode activated by a global secure-attention key. The configuration looks as follows: ! <config> ! <bool name="xray" initial="no"/> ! ! <press name="KEY_F1" bool="xray" change="on"/> ! <release name="KEY_F1" bool="xray" change="off"/> ! <press name="KEY_F2" bool="xray" change="toggle"/> ! ! <report name="xray" delay_ms="125"> ! <hovered domain="panel"/> ! <bool name="xray"/> ! </report> ! </config> A '<bool>' node declares a boolean state variable with the given name and its initial value (default is "no"). There may by any number of such variables. The '<press>' and '<release>' nodes define how key events affect the state variables. Each of those nodes refers to a specific state variable via the 'bool' attribute, and the operation as the 'change' attribute. Possible 'change' attribute values are "on", "off", and "toggle". The '<report>' node defines a state-dependent report with the name as specified in the 'name' attribute. The report-generation rate can be artificially limited by the 'delay_ms' attribute. If specified, the report is not issued immediately on a state change but after the specified amount of milliseconds. The '<report>' node contains a number of conditions. Whenever one of those conditions is true, a report of the following form is generated: ! <xray enabled="yes"/> Otherwise, the report's 'enabled' attribute has the value "no". Possible conditions are '<bool>' and '<hovered>'. The '<bool>' condition is true if the named boolean state variable has the value true. The '<hovered>' condition is true if the currently hovered nitpicker client belongs to the domain as specified in the 'domain' attribute. The latter information is obtained from a ROM module named "hover", which correponds to nitpicker's hover reports. To use the global-keys-handler in practice, one needs to configure the nitpicker GUI server such that the press/release events of the global keys of interest are routed to the global-keys-handler. This can be achieved by nitpicker's '<global-key>' configuration nodes. For example: ! <global-key name="KEY_F1" label="global_keys_handler -> input" /> ! <global-key name="KEY_F2" label="global_keys_handler -> input" />