Data input controller

Abstract: A data input controller which can set a keyboard to a key lock mode without affecting the operation state of a central processing unit (CPU). In the normal key input enable state, a keyboard encoder encodes a key input through the keyboard and sends the resultant data via a keyboard controller to the CPU. In this state, when a specific key combination is entered through the keyboard, the keyboard encoder detects it and sets the key lock mode. The encoded data corresponding to the subsequent key inputs is not sent to the keyboard controller. If a desired password is entered at this time, it is registered in RAM in the keyboard controller. The key lock mode is released when the registered password is entered.

Description: This invention relates to an information processing apparatus having input devices such as a keyboard and an auxiliary input device and more particularly to a data input controller which controls the input devices for inhibiting and enabling an input. Many information processing apparatuses such as word-processors and personal computers are provided with a security function intended for protection of data and programs. For example, a dedicated security program is previously stored in the main memory installed in the main unit which contains the CPU and the user can start the program as necessary, thereby inhibiting the keyboard and auxiliary input device from being used. In this example, when the user enters any desired password through the keyboard, the password is encoded by an encoder, then stored in a keyboard controller or the main memory. In response to the password entry, the CPU outputs a command which causes the keyboard controller to stop its function. Then, the key lock mode is entered and the subsequent data input through the keyboard or auxiliary input device is inhibited. On the other hand, to release the data input inhibition state, the user should enter the password through the keyboard, and the password is collated with the password stored in the main memory. If they match, the key lock mode is released. Thus, formerly, to inhibit a data input through the keyboard or auxiliary input device and set the key lock mode, the dedicated security program had to be prestored in the main memory in the main unit and started for inhibiting and enabling a data input under the CPU control. However, for example, when an operator leaves his or her seat during execution of an application program on a computer, if a third party presses some key of the keyboard attached to the computer by mistake or intentionally, the operation of the application program stops or the application program returns an erroneous result. Therefore, in such a case, the operator needs to suspend or terminate the application program before leaving his or her seat, then start the security program for disabling the third party from operating the keyboard or auxiliary input device. When the operator leaves his or her seat even for a while, he or she needs to take steps to suspend or terminate the application program which is very troublesome for the user. US-A-5,097,506 shows an information processing apparatus for a personal computer. A keyboard interface continually monitors the keyboard of the computer and blocks all keyboard input until a designated "hot key" sequence, including a password, is entered. The operation of the control microprocessor of the computer in performing other duties, such as spreadsheet recalculation or file server functions, is unaffected. The password and hot key sequence are pre-stored in the CMOS of the computer and are loaded into the keyboard interface memory upon computer start up. The user must call a utility programme to change the password. This makes password setting and changing difficult for a user. Accordingly, it is an object of the invention to provide a data input controller which can easily disable data input through a keyboard or an auxiliary input device such as a mouse while application program execution is ensured. To this end, according to the present invention, there is provided an information processing apparatus comprising: a central processing unit which controls the information processing apparatus; a keyboard for entering data; and a data input controller which controls the sending of data corresponding to a key input through the keyboard to the central processing unit; said data input controller including: key input detection means for detecting whether or not a specific key combination is entered through said keyboard, the data entered through said keyboard being encoded by the key input detection means to generate a key code; data sending inhibition means for inhibiting sending of data to said central processing unit when said key input detection means detects the specific key combination entry; password registration means for registering as a password, data entered through said keyboard in a password input mode which commences automatically once the key input detection means (17) detects the specific key combination entry and data sending is inhibited by said data sending inhibition means; and release means for determining whether or not data entered through said keyboard matches the registered password if it is registered, and for releasing the data sending inhibition state when they do match. When the specific key combination is entered through the keyboard, the data input controller sets the key lock mode and inhibits sending of a data corresponding to a key input to the central processing unit, then registers the subsequently pressed key sequence as a password. The key lock mode is released when the password is entered. The data input controller may further include state indicator means whose indicator state changes in response to the specific key combination entry and password registration. The data input controller uses the state indicator means to display the state such as the data sending enable state to the central processing unit, the password entry wait state, or the key lock mode after password registration. The data input controller may allow the specific key combination detected by the key input detection means to contain a key not originally used for data input to the central processing unit. In the data input controller, a key not originally used for data input to the central processing unit is also used to make the specific key combination for key lock setting. When the specific key combination is entered, the data input controller may preferably disable inputs through the auxiliary input device such as a mouse as well as the keyboard. Preferably, the transition to the data sending inhibition state, namely, the key lock mode, a password is entered through the keyboard for password setting and again entered through the keyboard for password checking. Only when they match, does the data input controller formally register it as the password. Examples of the invention will now be described with reference to the drawings, in which: Figure 1 is a block diagram showing a data input controller and its periphery according to one embodiment of the invention; Figure 2 is a flowchart showing an operation outline of the data input controller according to one embodiment of the invention; Figure 3 is a flowchart showing a process when a password is set; Figure 4 is a flowchart showing operation for password check and key lock setting; and Figure 5 is a flowchart showing key lock release operation. Figure 1 shows the configuration of a data input controller and its periphery according to one embodiment of the invention. As shown in the figure, an input control section 12 is provided with a keyboard controller 16 and a keyboard encoder 17. The keyboard controller 16 contains a ROM 21 which stores a program to control the operation of the controller 16 and a RAM 22 which stores necessary data for outputting a serial input from a mouse 14 or the keyboard encoder to a CPU 11 as parallel output. The CPU 11 controls the entire operation of an information processing apparatus (not shown), such as a wordprocessor or a personal computer, and is connected to main memory and other devices such as a floppy disk drive (not shown). The keyboard encoder 17 contains a ROM 23 which stores a program to control the operation of the encoder 17 and a RAM 24 which stores a password described below. The keyboard encoder 17 encodes a key input through the keyboard 13 and outputs the code to the keyboard controller 16 as a key code 27. A LED unit 18 having three LEDs L1-L3 is connected to the keyboard encoder 17 via a driver circuit (not shown). The operation of the data input controller thus configured is described in conjunction with the accompanying drawings of Figures 2-5. An embodiment of the invention has a feature of inhibiting and enabling an input through the keyboard 13 or mouse 14 regardless of how the CPU 11 operates. First, the keyboard encoder 17 monitors a key input through the keyboard 13. When a key input is made (Y at step S101 in Figure 2), the keyboard encoder 17 encodes the key input to generate a key code at step S102. Next, the keyboard encoder 17 determines whether or not its operation mode is password input at step S103, whether or not it is password check at step S104, and whether or not it is key lock at step S105. Assume that it does not apply to any mode (N at steps S103-S105), namely, it is the normal mode. Then, the keyboard encoder 17 determines whether or not the pressed keys are specific keys, namely, a key combination for key lock setting at step S106. If the pressed keys are not the key combination for key lock setting, the keyboard encoder 17 sends the key code 27 provided by encoding the normal key input to the keyboard controller 16 at step S107. On the other hand, if the pressed keys are the key combination for key lock setting (Y at step S106), the keyboard encoder 17 sets the mode to password input and stores the L1, L2, L3 state of the LED unit 18, then blinks L1 of the LED unit 18 at step S108 and sets variable n to 1 for monitoring a new key input. This means that after the key combination for key lock setting is entered, sending of key code to the keyboard controller 16 is inhibited. After this, key code sending from the keyboard encoder 17 to the keyboard controller 16 is inhibited until the key lock is released at step S405 in Figure 5. As the key combination for key lock setting at step S106, for example, it is convenient to use a combination of a specially installed FN key (function key) and any other predetermined key. The FN key is a special key not used for data inputs to the CPU 11. Therefore, it is previously programmed in the keyboard encoder 17 that key data, when the FN key is pressed, is encoded by the keyboard encoder 17, but the key code is not sent to the keyboard controller 16. Even when the CPU 11 is executing some application program, an input of the FN key for key lock setting does not affect the application program. In fact, the combination of the FN key and the predetermined key is detected by comparing the key codes of the FN key and the predetermined key with two key codes previously set in the ROM 23 each time they are input by key scan. When the pressed key sequence is judged to be the key combination for key lock setting at step S106 and the password input mode is set, L1 of the LED unit 18 is blinked to inform the operator of the mode setting, as described above. When recognizing the password input mode, the operator enters a password of a desired number of characters. As described above, the keyboard encoder 17 encodes the key input to generate key codes (step S102). At this time, the password input mode is entered (Y at step S103), thus the operation flow moves to the process shown in Figure 3. In Figure 3, the keyboard encoder 17 determines whether or not the input key code is a code indicating the last character of the password at step S201. For example, the ENTER key or return key can be used for the last character of the password. That is, password input is completed by pressing the ENTER or return key after the password of a desired number of digits is entered. If the pressed key is not the ENTER key at step S201, the code of the entered character is stored in the RAM 24 at step S202, and the variable n is incremented by one at step S203. A sequence of steps S101-S103 in Figure 2 and steps S201-S203 in Figure 3 are repeated. When the ENTER key is pressed (Y at step S201), the keyboard encoder 17 sets the mode to password check, blinks the second LED of the LED unit 18, L2, at step S204, and sets the variable n to 1 at step S205. From the blinking of the second LED of the LED unit 18, L2, the operator recognizes that the password input terminates and the transition is made to the password check mode. To check the password, the operator should enter the same password as that already entered. The keyboard encoder 17 encodes the pressed keys to generate key codes (step S102), as described above. At the time, the password check mode is entered (Y at step S104), thus the operation flow moves to the process shown in Figure 4. In Figure 4, the keyboard encoder 17 compares the nth character code of the password stored in the RAM 24 (n=1 at the beginning) with the entered key code at step S301. If they match (Y at step S302), the keyboard encoder 17 increments n by one at step S203, then determines whether or not the entered key code is the last character of the password, namely, the code corresponding to the ENTER key at step S304. If it is not the ENTER key (N at step S304), again the flow returns to the next key input step in Figure 2. A sequence of steps S101-S103 in Figure 2 and steps S301-S303 in Figure 4 are repeated to check the password. When the ENTER key is pressed (Y at step S304), the keyboard encoder 17 recognizes that the previously registered password has been again entered correctly, and adopts the entered password formally, then sets the mode to key lock and blinks the third LED of the LED unit 18, L3, at step S305. Further, the keyboard encoder 17 sends a mouse inhibition signal 26a in Figure 1 to the keyboard controller 16 at step S306 and sets the variable n to 1 at step S307. On the other hand, if the previously entered password does not match the key codes entered for check at step S302, the mode is returned to the normal input mode and the LED unit 18 is restored to the prestored state at step S308. In this case, the operator should again start the process at the step of entering the specific key combination for key lock setting. After a password entry, the operator is prompted to again enter the password and a check is made to see if they match, thereby preventing such problems as the password that the operator recognizes to be entered not actually matching the password recognized by the keyboard encoder 17, in which case the key lock mode cannot be released later by entering the password. The keyboard controller 16, which receives the mouse inhibition signal 26a output at step S306, disables the function of sending an input through the mouse 14 to the CPU 11. Thus, sending of the input through the keyboard 13 to the keyboard controller 16 is inhibited by the keyboard encoder 17 and sending of the input through the mouse 14 to the CPU 11 is inhibited by the keyboard controller 16. Therefore, when the CPU 11 is executing some application program, even if a third party operates the keyboard 13 or the mouse 14 intentionally or carelessly during the operator's absence, the CPU 11 is not affected and can continue to execute the application program. After the third LED of the LED unit 18, L3, blinks and the key lock mode is entered, the keyboard encoder 17 still continues to monitor any key input through the keyboard 13 and generates the key code corresponding to the key input (step S102 in Figure 2). At this time, the key lock mode is entered (step S105), thus the operation flow moves to the process shown in Figure 5. In Figure 5, the keyboard encoder 17 compares an entered key code with the nth character code of the password stored in the RAM 24 at step S401. If they match (Y at step S402), the keyboard encoder 17 determines whether or not the entered key code is the code corresponding to the ENTER key at step S403. If it is not the ENTER key, the keyboard encoder 17 increments the variable n by one at step S404. A sequence of steps S101-S105 in Figure 2 and steps S401-S404 in Figure 5 are repeated. When the ENTER key is pressed (Y at step S403), the keyboard encoder 17 recognizes that all the password characters match, then sets the mode to the normal input mode and turns off all LEDs of the LED unit 18 at step S405. At the same time, the keyboard encoder 17 sends a mouse enable signal 26b in Figure 1 to the keyboard controller 16 at step S406. On the other hand, if they do not match at step S402, the variable n is set to 1 at step S407. In this case, the operator may again enter the password from the beginning. The keyboard controller 16, which receives the mouse enable signal 26b output at step S406, enables the function of sending an input through the mouse 14 to the CPU 11. The keyboard encoder 17 releases the key lock mode and sends an input normally through the keyboard 13 to the keyboard controller 16. In the embodiment, key inputs, etc., can be inhibited locally by the keyboard encoder and the keyboard controller completely independently of the CPU 11 and without affecting the operation of the CPU 11. A password to release the key lock mode can also be set very easily. Although the mouse inhibition signal 26a is output when the first and second passwords match at step S305 in Figure 4, the signal may also be output when a specific key combination input is detected at step S106 in Figure 2, for example, after step S108. Although the mouse 14 is connected to the keyboard controller 16, it may also be connected to the keyboard encoder 17, in which case the mouse inhibition signal 26a and mouse enable signal 26b become unnecessary. According to one embodiment of the invention, the data input controller is provided with means for detecting a specific key combination entered through the keyboard and when the specific key combination entry is detected, the key lock mode is set, then a password is registered. Thus, the keyboard can be set to the lock mode without affecting the operation state of the central processing unit. Preferably, the data input controller is provided with state indicator means for displaying the keyboard state, thus facilitating operations such as setting and releasing the key lock mode and setting a password. Preferably, the data input controller can disable inputs not only through the keyboard, but also through auxiliary input means such as a mouse. Preferably, when a password is set, the data input controller checks the password setting, thus trouble caused by an input mistake of the operator or erroneous recognition of the controller can be prevented at the time of password setting. Preferably, the encoder performs steps such as setting and releasing the key lock mode and setting a password, thus the encoder and the keyboard controller can be separated. Preferably, the encoder locks the keyboard and also sends a control signal to disable the function of the auxiliary input device to the keyboard controller for locking the auxiliary input device. Thus, regardless of whether the configuration is such that the encoder and the keyboard controller are separated or the auxiliary input device is connected to the keyboard controller, the keyboard and the auxiliary input device can be locked simultaneously.

Claims: An information processing apparatus comprising: a central processing unit (11) which controls the information processing apparatus; a keyboard (13) for entering data; and a data input controller (12) which controls the sending of data corresponding to a key input through the keyboard (13) to the central processing unit (11); said data input controller (12) including: key input detection means (17) for detecting whether or not a specific key combination is entered through said keyboard (13), the data entered through said keyboard (13) being encoded by the key input detection means (17) to generate a key code; data sending inhibition means for inhibiting sending of data to said central processing unit (11) when said key input detection means (17) detects the specific key combination entry; password registration means for registering as a password, data entered through said keyboard (13) in a password input mode which commences automatically once the key input detection means (17) detects the specific key combination entry and data sending is inhibited by said data sending inhibition means; and release means for determining whether or not data entered through said keyboard (13) matches the registered password if it is registered, and for releasing the data sending inhibition state when they do match. The information processing apparatus as claimed in claim 1, the data input controller (12) further including state indicator means (18) whose indicator state changes in response to said specific key combination entry and password registration. The information processing apparatus as claimed in claim 1, wherein said specific key combination detected by said key input detection means (17) contains a key not usually used for data input to said central processing unit. The information processing apparatus of claim 1, further comprising an auxiliary input device (14) for entering data, the data input controller (12) further controlling the sending of data entered via the auxiliary input device (14) to the central processing unit (11). An information processing apparatus as claimed in any preceding claim, in which the password registration means compares first data entered through said keyboard (13) with second data entered through said keyboard (13) after the data sending is inhibited by said data sending inhibition means, the password being registered when the said first and second data match. An information processing apparatus as claimed in any preceding claim, in which the key input detection means (17) is a keyboard encoder, the data input controller (16) arranged to communicate with the keyboard encoder. An information processing apparatus as claimed in claim 2, in which state indicator means (18) is arranged to indicate when the key input detection means (17) has detected the specific key combination entry and the password input mode has commenced.

Inventors: OKAMOTO MITSUNAGA, OKAMOTO, MITSUNAGA
Applicants: SANYO ELECTRIC CO, SANYO ELECTRIC COMPANY LIMITED
Application year: 1993
Main classification: G06F1
IPC codes: G06F21, G06F1