The invention relates generally to devices with touch sensitive screens, and in particular to a system for locking the input from the touch sensitive screen.
Touch screens are becoming more common on electronic devices such as laptops, personal digital assistant (PDA) and PDA type devices, hand held computers, hand held barcode readers, and hand held RFID tag readers.
For portable devices it is often desirable to lock the input received from the keyboard to prevent undesirable input as a result of keys being hit while carrying or transporting the device. For example, a portable phone may have a feature to lock the keypad to prevent pressing keys when the phone is in the pocket. However, the sequence used to lock the keyboard may only be available through selection from an onscreen menu.
Additionally, the sequence used to unlock may include pressing and holding a single button for a period of time. In situations where the device is placed into locked and unlocked states repeatedly, this may become time consuming. Furthermore, the use of a single key to unlock the device may result in undesired unlocking if the key is in a place that is commonly contacted. Placing the single key in a location that is unlikely to be randomly pressed, may necessitate placing the key in an inconvenient location for use by the device user.
It is desirable to have a device with the ability to enable and disable the input from input devices including a touch screen.
In accordance with the present disclosure there is provided a system for locking device input. The system comprises a plurality of device input components comprising a touch screen input component and a key input component, and an input locking sub system for selectively locking at least the touch sensitive screen input component when a first input sequence is received from the plurality of keys that matches a specific key sequence, and for selectively unlocking locked input components, including the touch sensitive screen input, when a second input sequence is received from the plurality of keys that matches the specific key sequence.
In accordance with the present disclosure there is provided a method for locking input of a device, the device input comprising a touch sensitive screen input component and a key input component. The method comprises receiving an input from the key input component, adding the received input to an input sequence, checking the input sequence against a specific key sequence, and toggling the locked state of at least the touch sensitive screen input component when the input sequence matches the specific key sequence.
In accordance with the present disclosure there is provided a computer-readable medium storing instructions or statements for use in the execution in a computer of a method of locking input of a device, the device input comprising a touch sensitive screen input component and a key input component. The method comprises receiving an input from the key input component, adding the received input to an input sequence, checking the input sequence against a specific key sequence, and toggling the locked state of at least the touch sensitive screen input component when the input sequence matches the specific key sequence.
In accordance with the present disclosure there is provided a propagated signal carrier carrying signals containing computer-executable instructions that can be read and executed by a computer, the computer-executable instructions being used to execute a method of locking input of a device, the device input comprising a touch sensitive screen input component and a key input component. The method comprises receiving an input from the key input component, adding the received input to an input sequence, checking the input sequence against a specific key sequence, and toggling the locked state of at least the touch sensitive screen input component when the input sequence matches the specific key sequence.
Illustrative embodiments of the invention will now be described with reference to the following drawings in which:
The system 100 as described in
The input locking sub-system 210 comprises input locking sub-system settings 215. These settings 215 may be stored in non volatile memory 110 and loaded into volatile memory 112 during system operation. The settings 215 control the operation of the input locking sub-system 210 as further described below. The input locking sub-system 210 locks the device input upon receiving a particular key sequence. Upon receiving the same key sequence, the input locking sub-system 210 unlocks the device input. The input locking sub-system 210 toggles the locked state of the touch sensitive screen 120 (and possibly additional input components as described further herein) upon receiving an input sequence that matches a specified key sequence.
When the input locking sub-system 210 locks the device input, the OS input sub-system 205 does not receive input signals, even if the device input components produce input signals 202. As a result of the operation of the input locking subsystem 210, it appears to the OS 201 that no input has occurred. When the input locking sub-system 210 unlocks the device, all input signals are passed to the OS input sub-system 205, which may then process them in the appropriate manner.
The length of the input sequence may be controlled by the input locking sub-system settings as described further herein. Once the input is added to the input sequence, the input locking sub-system 210 compares the input sequence against the key sequence at step 320. The key sequence may be specified by the input locking sub-system settings. If the input sequence matches the specified key sequence, the input locking sub system determines if the input is locked or unlocked at step 325. If the input is locked, the input locking sub-system 210 unlocks the input at step 330. If at step 325, it is determined that the input is unlocked, the input locking sub-system 210 locks the input at step 335. If at step 310, the input locking sub-system 210 determines that the input is not from the input keys, execution continues to step 340. If at step 320, the input sequence does not match the key sequence, then processing continues to step 340. At step 340, the input locking sub-system 210 determines if the input is locked. If the input is locked, the execution returns to step 305, and waits for further input. If at step 340, it is determined that the input is unlocked, then the input locking sub-system 210 passes the received input (from step 305) to the OS input sub-system 205 for processing.
The above system describes intercepting input from devices and passing them onto the OS input sub-system 205 if the input is not locked. The OS may provide low-level input sub-systems. These low-level sub-systems may be responsible for communicating with the input components and converting input signals into inputs that are useable by the OS input sub-system 205, and the input locking sub-system 210. The low-level sub-systems may include for example device drivers for converting input component specific signals into inputs that are recognizable and/or understood by the OS 201.
The method and steps of the input locking sub-system may be implemented in commands executed by the processor. The commands may be compiled from a input locking sub-system described in a programming language. The programming language used to describe the input locking sub-system may be described using an object oriented (OO) programming language and paradigm. Alternatively the input locking sub system may be described as a monolithic code block.
If the input locking sub-system is implemented as described above, the method ‘receive_new_input(input)’ may be used to control the overall functioning of the input locking object. A pseudo code representation of the logic is provided below. The code below does not include all of the steps that may be included in the implementation. For example, the pseudo code does not check to determine if the various methods called were successfully executed.
The add_to_input_sequence(input) method may use the input_sequence_length and the key_sequence_length to properly add the the received input to the input sequence. The method may compare the input sequence length (which stores the current length of the input sequence) to the key sequence length. If the input sequence length is less then the key sequence length then the received input is appended to the input sequence and the input sequence length is increased by 1. If the input sequence length is equal to the key sequence length, then the first input of he input sequence is removed and the received input is appended to the input sequence.
The input sequence may be periodically cleared. For example, inputs can be removed (from the beginning of the input sequence) depending on how long ago they were received. As inputs are removed, the input_sequence_length is decreased. This may provide for a time limit in which the key sequence to toggle the locked state of the input must be received.
The input locking system described above provides for basic locking and unlocking of the input of the device. It may be desirable to allow the user of the device to control operation of the input locking sub-system. This may be accomplished by providing the input locking sub-system with a plurality of settings that control the input locking sub-system's operation. The settings may be set or modified by an input locking sub-system settings 215 (see
Some of the settings that may be controlled by the settings application 220 may include:
The Lock components setting may be used to provide control over which keys or input devices are locked. For example, if the device is a handheld barcode scanner, the lock components may specify that the input locking sub system does not pass input received from the touch sensistive screen or from input keys (i.e. a keyboard or the like). The lock components settings can advantageously be used to pass (i.e. not lock) additional input components such as the barcode scanner. This can be used to allow for the barcode input (as well as the trigger input for activating the scanner) to be passed to the OS even if the other input components are locked. Those skilled in the art will appreciate that the barcode scanner input component may replaced with (or in addition to) an RFID reader, an image capture device or other type of input devices. These input devices may be actuated by a trigger or the like, and may be collectively referred to as additional input devices, as they are additional to the touch sensitive screen and the input keys. Other types of input devices may also be included as additional input devices, such as for example, fingerprint readers, magnetic card readers, etc.
The Exceptions settings may be used to specify specific inputs from an input device that are to be passed to the OS even if the device is locked. For example, if the device is an RFID reader which performs a read when a read key of the key components is pressed, the read key may be included as an exception. The read key input will then be passed onto the OS even if the input is locked.
In an illustrative embodiment of the input locking sub-system described herein, the key sequence used for locking/unlocking the input is a 3 key sequence (with no chording). The same sequence is used for locking and unlocking the device input.
The input locking sub-system can be advantageously used to allow device users to disable a touch sensitive screen as part of the locking functions. The system also provides the ability to enable/disable a popup that may be displayed on screen. Furthermore, the system input locking sub-system can lock/unlock input data coming in from select input devices, such as a barcode scanner that is activated from a trigger button as opposed to a scan button can be pressed, since the input from different input are not processed in the same manner.
The systems and methods according to the present invention may be implemented by any hardware, software or a combination of hardware and software having the above described functions. The software code, either in its entirety or a part thereof, may be stored in a computer-readable memory. Further, a computer data signal representing the software code which may be embedded in a carrier wave may be transmitted via a communication network. Such a computer-readable memory and a computer data signal are also within the scope of the present patent disclosure, as well as the hardware, software and the combination thereof.
While particular embodiments of the present invention have been shown and described, changes and modifications may be made to such embodiments without departing from the true scope of the invention.