Abstract:
An input apparatus for enabling a user to enter an instruction into a main apparatus has high durability and offers superior operability. The input apparatus includes a table device having a table with a variable size. An image of plural virtual keys that is adapted to the size of the table is projected by a projector unit onto the table. Position information about a finger of the user that is placed on the table is detected by a position detecting device contactlessly. One of the plural virtual keys that corresponds to the position of the finger of the user detected by the position detecting device is detected by a key detecting device based on information about the image of the plural virtual keys and a result of the detection made by the position detecting device.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to input apparatuses and image forming apparatuses, and more particularly to an input apparatus that is used when a user inputs an instruction into a main apparatus. The present invention also relates to an image forming apparatus equipped with the input apparatus. 
         [0003]    2. Description of the Related Art 
         [0004]    An image forming apparatus, such as a copy machine or a printer, typically has an operating panel with a display unit. The display unit may display plural input keys that a user can use to enter an instruction for executing a job. The display unit may also display various other information, such as a status of the image forming apparatus or various messages to the user. 
         [0005]    For example, Japanese Laid-Open Patent Application No. 2005-010394 discloses an image forming apparatus that determines an optimum operation position based on physical information about the user, such as his or her height or the use of a wheelchair. In this technology, the height of an operating unit including an operating panel and the height of the ejected-sheet tray are increased or decreased in a linked manner. However, because the image forming apparatus employs mechanical keys, those keys that are frequently used are liable to fail, in which case the entire operating panel needs to be replaced. 
         [0006]    Japanese Laid-Open Patent Application No. 2007-219966 discloses a projection input apparatus capable of projecting a keyboard with an appropriate size under different conditions, such as the projected distance. The publication also discloses an information terminal equipped with such projection input apparatus. However, many of the modern image forming apparatuses have multiple functions and offer a wide variety of input items (input menu). Thus, the use of the projection input apparatus with the latest image forming apparatus leads to reduced operability. 
       SUMMARY OF THE INVENTION 
       [0007]    It is therefore an object of the present invention to provide an input apparatus and an image forming apparatus in which one or more of the problems of the related art are eliminated. 
         [0008]    A more specific object of the present invention is to provide an input apparatus that is highly durable and offers excellent operability. 
         [0009]    Another object of the present invention is to provide an image forming apparatus that is highly durable and offers excellent operability. 
         [0010]    According to one aspect of the present invention, an input apparatus for enabling a user to enter an instruction into a main apparatus includes a table device having a table with a variable size; a projector unit configured to project an image of plural virtual keys that is adapted to the size of the table onto the table; a position detecting device configured to contactlessly detect position information about a finger of the user that is placed on the table; and a key detecting device configured to detect one of the plural virtual keys that corresponds to the position of the finger of the user detected by the position detecting device, based on information about the image of the plural virtual keys and a result of the detection made by the position detecting device. 
         [0011]    According to another aspect of the present invention, an image forming apparatus for forming an image based on an instruction entered by a user includes the above input apparatus for enabling the user to enter the instruction, and a main apparatus for forming the image in accordance with the instruction entered by the user via the input apparatus. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    These and other objects, features and advantages of the invention will be apparent to those skilled in the art from the following detailed description of the invention, when read in conjunction with the accompanying drawings in which: 
           [0013]      FIG. 1  is a perspective view of a multifunction peripheral according to an embodiment of the present invention; 
           [0014]      FIG. 2  shows a block diagram of the multifunction peripheral shown in  FIG. 1 ; 
           [0015]      FIG. 3A  is a side view of an input unit of the multifunction peripheral, wherein a second table is retracted in a first table; 
           [0016]      FIG. 3B  is a side view of the input unit wherein the second table is drawn out of the first table; 
           [0017]      FIG. 4  is a perspective view of an upper part of the multifunction peripheral, illustrating the second table in a retracted position; 
           [0018]      FIG. 5  is a perspective view of the upper part of the multifunction peripheral, illustrating the second table in a drawn-out position; 
           [0019]      FIG. 6  is a side view of the input unit of the multifunction peripheral, illustrating an arrangement of various units within the input unit; 
           [0020]      FIG. 7  shows a structure of a projector unit of the multifunction peripheral according to the present embodiment; 
           [0021]      FIG. 8A  is a side view of the input unit illustrating a projected region when the second table is retracted in the first table; 
           [0022]      FIG. 8B  shows a virtual key image projected in the projected region shown in  FIG. 8A ; 
           [0023]      FIG. 9A  is a side view of the input unit illustrating the projected region when the second table is drawn out; 
           [0024]      FIG. 9B  shows a virtual key image projected in the projecting region shown in  FIG. 9A ; 
           [0025]      FIG. 10A  is a side view of the input unit, illustrating an operation of an infrared device; 
           [0026]      FIG. 10B  shows how the projected region is covered by infrared light emitted by the infrared device; 
           [0027]      FIG. 11  is a side view illustrating an operation of a CMOS camera in the input unit of the multifunction peripheral; 
           [0028]      FIG. 12  shows a flowchart of an operation of an ADF/scanner unit control unit of the multifunction peripheral according to the present embodiment; 
           [0029]      FIG. 13  shows a first half of a flowchart of an key input operation performed by a main body control unit; 
           [0030]      FIG. 14  shows a latter half of the flowchart of the key input operation; 
           [0031]      FIG. 15  shows a first half of a flowchart of an operation of the input unit control unit; 
           [0032]      FIG. 16  shows a latter half of the flowchart of the operation of the input unit control unit; 
           [0033]      FIG. 17  is a perspective view of the multifunction peripheral according to the present embodiment, illustrating the second table being retracted in the first table; 
           [0034]      FIG. 18  is a perspective view of the multifunction peripheral, illustrating a virtual key image projected on the first table; 
           [0035]      FIG. 19  is a perspective view of the multifunction peripheral, illustrating the second table being drawn out of the first table; and 
           [0036]      FIG. 20  is a perspective view of the multifunction peripheral, illustrating a virtual key image being projected on the first and the second tables. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0037]    Hereafter, embodiment of the present invention are described with reference to  FIGS. 1 through 20 .  FIG. 1  shows a multifunction peripheral  100  as an image forming apparatus according to an embodiment of the present invention.  FIG. 2  shows a block diagram illustrating the control relationships among various units of the multifunction peripheral  100 . The arrows shown in  FIG. 2  indicate the general flow of representative signals or information and not the entire connection relationships among all of the blocks. 
         [0038]    The multifunction peripheral  100  includes an input unit  107 ; an ADF (automatic document feeder)/scanner unit  118 ; a projection table unit  108 ; a printer  105 ; a sheet tray  106 ; an ejected-sheet tray  104 ; a user sensor  114 ; an operating panel display unit  102 ; an ID reader  123 ; a memory  124 ; and a main body control unit  115 . 
         [0039]    The input unit  107  includes a projector unit  109 ; a CMOS (complementary metal-oxide semiconductor) camera  110 ; an infrared device  111 ; and an input unit control unit  116 . 
         [0040]    The ADF/scanner unit  118  includes an ADF  101 , which is an automatic manuscript transport device; an ADF lift sensor  121 ; a manuscript sensor  122 ; a scanner  103 ; and an ADF/scanner unit control unit  120 . 
         [0041]    The ADF  101  is disposed at the top of the multifunction peripheral  100 , above the scanner  103  (on a +Z side). The ADF  101  includes a manuscript tray on which one or more sheets of a manuscript can be set. The ADF  101  transports the manuscript set on the manuscript tray onto an upper surface (which may be a glass surface) of the scanner  103 , one sheet at a time. 
         [0042]    The manuscript sensor  122  is a sensor for detecting whether a manuscript is set on the manuscript tray of the ADF  101 . The manuscript sensor  122  supplies an output signal to the ADF/scanner unit control unit  120 . 
         [0043]    The ADF  101  can be separated from the scanner  103 . Specifically, the ADF  101  is fixed on its +X end alone in such a manner that the ADF  101  can be rotated about an +X end axis by raising the −X end of the ADF  101 . Thus, when copying a bound manuscript, for example, the ADF  101  can be lifted from the scanner  103  allowing the manuscript to be placed on the upper surface of the scanner  103 . 
         [0044]    The ADF lift sensor  121  is a sensor for detecting whether the ADF  101  is lifted from the scanner  103 . The ADF lift sensor  121  supplies an output signal to the ADF/scanner unit control unit  120 . 
         [0045]    The ADF/scanner unit control unit  120  controls the ADF  101  and the scanner  103  based on the output signals from the manuscript sensor  122  and the ADF lift sensor  121 , as well as an instruction from the main body control unit  115 . 
         [0046]    The scanner  103  reads image information in the manuscript placed on its upper surface. When the multifunction peripheral  100  functions as a copy machine, the image information read is sent to the printer  105 . The image information may be sent directly from the scanner  103  to the printer  105 ; or it may be sent to the printer  105  via the ADF/scanner unit control unit  120  or the main body control unit  115 . When the multifunction peripheral  100  functions as a scanner, the image information thus read may be stored in the memory  124 . In this case, the image information may be sent directly from the scanner  103  to the memory  124 , or via the ADF/scanner unit control unit  120  or the main body control unit  115 . 
         [0047]    The user sensor  114  is a sensor for detecting whether there is a user at the front (i.e., on the −X side) of the multifunction peripheral  100 . The user sensor  114  supplies an output signal to the main body control unit  115 . 
         [0048]    The operating panel display unit  102  displays various messages or the like based on an instruction from the main body control unit  115 . 
         [0049]    The ID reader  123  is used by the user when entering a user ID. Upon entry of the user ID, the main body control unit  115  is notified of the user ID. The user ID may be entered either by a key input method or via a card reader reading an ID card in a contacted or contactless manner. 
         [0050]    The memory  124  stores user information including information about virtual keys for each user ID. The sheet tray  106  stores printing sheets. 
         [0051]    When the multifunction peripheral  100  functions as a copy machine, the printer  105  takes out one of the printing sheets from the sheet tray  106  and may then print the image information read by the scanner  103  on the printing sheet. When the multifunction peripheral  100  functions as a printer, the printer  105  may print image information transmitted from a higher-level device (such as a personal computer). The printing sheet with the image information printed thereon is ejected onto the ejected-sheet tray  104 . 
         [0052]    The projection table unit  108  is disposed on the front side of the multifunction peripheral  100  and is positioned so that a standing user can easily place his or her finger on the projection table unit  108 . 
         [0053]    In accordance with the present embodiment, as shown in  FIGS. 3A and 3B , the projection table unit  108  includes a first table  108   a  having an internal space; a second table  108   b  that can be housed within the first table  108   a ; and a table drive unit  129  configured to drive the second table  108   b  in the X axis direction. The first table  108   a  and the second table  108   b  may be collectively referred to as “the table”. 
         [0054]    The second table  108   b  has a protrusion  126  at the +X end on the −Y side. At both ends within the first table  108   a  in the Y axis direction, rails  125  extend in the X axis direction. The second table  108   b  rests on the rails  125 . 
         [0055]    Further, at the −Y side of the first table  108   a , there are disposed a first protrusion sensor  128   a  on the −X end and a second protrusion sensor  128   b  on the +X end. These protrusion sensors  128   a  and  128   b  detect a contact of the protrusion  126  of the second table  108   b  therewith at the respective ends of the first table  108   a.    
         [0056]    When the second table  108   b  is drawn out of the first table  108   a , the protrusion  126  of the second table  108   b  contacts the protrusion sensor  128   a  at a predetermined drawn-out position. When the second table  108   b  is put back into the first table  108   a , the protrusion  126  contacts the protrusion sensor  128   b  at a predetermined housed position. Each of the protrusion sensors supplies an output signal to the input unit control unit  116 . 
         [0057]    The second table  108   b  is driven by the table drive unit  129  in accordance with an instruction from the input unit control unit  116 . Thus, in the projection table unit  108 , the available size of the table can be changed, as shown in  FIGS. 4 and 5 , for example. 
         [0058]    The input unit  107  is disposed on the +X side of the projection table unit  108 . The projector unit  109 , the CMOS camera  110 , and the infrared device  111  may be retained within the casing of the input unit  107  in a predetermined positional relationship, as shown in  FIG. 6 . 
         [0059]    In the illustrated example, the projector unit  109  is disposed at the +Z end in the casing of the input unit  107 . The projector unit  109  includes a projector  109   a  and a projection drive mechanism  109   b . The projector  109   a  projects a virtual key image on the table of the projection table unit  108 . The projection drive mechanism  109   b  can rotate the projector  109   a  in order to change the size of a region (which may be hereafter referred to as a “projected region”) on the table in which the virtual key image is projected. 
         [0060]    With reference to  FIG. 7 , the projector  109   a  includes a light source unit  109   a   1 , a collimating optical system  109   a   2 , an integrator optical system  109   a   3 , a liquid crystal panel  109   a   4 , and a projection lens  109   a   5 . 
         [0061]    The light source unit  109   a   1  outputs light that is incident on the liquid crystal panel  109   a   4  via the collimating optical system  109   a   2  and the integrator optical system  109   a   3 . The light incident on the liquid crystal panel  109   a   4  is modulated in accordance with projection image data and then enlarged and projected by the projection lens  109   a   5  onto the table. The lenses in the optical system are adjusted to minimize distortion or blurring in the image projected on the table. 
         [0062]      FIG. 8A  shows the projected region when the second table  108   b  is housed within the first table  108   a .  FIG. 8B  shows an example of the virtual key image projected in the projected region of  FIG. 8A .  FIG. 9A  shows the projected region when the second table  108   b  is drawn out of the first table  108   a .  FIG. 9B  shows an example of the virtual key image projected in the projected region shown in  FIG. 9A . 
         [0063]    The individual virtual keys in the virtual key images shown in  FIGS. 8B and 9B  are similar in meaning to the input keys in a conventional multifunction peripheral apparatus. For example, the “Copy” key is a virtual key for instructing an operation of the multifunction peripheral as a copy machine. The “Scanner” key is a virtual key for instructing an operation as a scanner. The “Printer” key is a virtual key for instructing an operation as a printer. The “Fax” key is a virtual key for instructing an operation as a facsimile machine. 
         [0064]    The “Reset” key is a virtual key for cancelling the previously entered contents. The “Start” key is a virtual key for instructing the start of an operation. The “Stop” key is a virtual key for instructing the ceasing of an operation. The “0” through “9” keys, the “./*” key, and the “#” key are virtual keys corresponding to the so-called numeric keypad. The “UserTool” key is a virtual key for entering into a mode for viewing the initial settings of the multifunction peripheral  100  or a counter value. The “Expansion” key is a virtual key for changing the size of the table. The “Function1” through “Function11” keys are virtual keys for opening a document box (for storage of documents), login or logout, and various other functions. 
         [0065]    Referring to  FIGS. 6 and 10A , the infrared device  111  is disposed on the −Z end of the casing of the input unit  107 . The infrared device  111  includes a light source  111   a  for emitting infrared light, and a reflecting mirror  111   b  for bending the optical path of the infrared light from the light source  111   a . As shown in  FIG. 10A , the infrared light, after being emitted by the light source  111   a  in the −Z direction, has its optical path bent by the reflecting mirror  111   b  in the −X direction. Because the infrared light emitted by the light source  111   a  is diverging light, the infrared light propagates in a space close to the surface of the table while diverging in directions parallel to the table surface. The infrared light from the input unit  107  may cover most of the projected region as seen from the Z axis direction, as shown in  FIG. 10B . 
         [0066]    With reference to  FIG. 11 , the CMOS camera  110  is disposed between the projector unit  109  and the infrared device  111  within the casing of the input unit  107 . The CMOS camera  110  is positioned such that, when a finger  130  of the user is placed on the table as shown in  FIG. 11 , the infrared light reflected by the finger  130  becomes incident on the CMOS camera  110 . Upon incidence of the infrared light, the CMOS camera  110  outputs a signal including information about the position of the finger  130 . The output signal from the CMOS camera  110  is supplied to the input unit control unit  116 . 
         [0067]    The ADF/scanner unit control unit  120  include a CPU and a memory (both not shown) in which a program described in codes that the CPU  120   a  can decode and various data are stored. Hereafter, an operation of the ADF/scanner unit control unit  120  is described with reference to a flowchart shown in  FIG. 12 . The operation is performed in accordance with a process algorithm of the program executed by the CPU. 
         [0068]    When power is turned on, a start address of the program is set in a program counter of the CPU, and the process starts. 
         [0069]    Communications with the main body control unit  115  are conducted via interrupt processes for both transmission and reception (i.e., via a reception interrupt process and a transmission interrupt process). Upon notice from the main body control unit  115 , a corresponding reception flag is set in the reception interrupt process. 
         [0070]    Referring to  FIG. 12 , in the initial step S 401 , an output signal is acquired from the ADF lift sensor  121 . 
         [0071]    In step S 403 , based on the output signal from the ADF lift sensor  121 , it is determined whether the ADF  101  is lifted by the user. If the ADF lift sensor  121  detects the lifting of the ADF  101 , the process goes to step S 405 . 
         [0072]    In step S 405 , the main body control unit  115  is notified of the lifting of the ADF  101 . 
         [0073]    In step S 407 , an output signal is acquired from the manuscript sensor  122 . 
         [0074]    In step S 409 , it is determined whether, based on the output signal from the manuscript sensor  122 , a manuscript is set on the manuscript tray of the ADF  101 . If the manuscript sensor  122  detects the setting of the manuscript, the process goes to step S 411 . 
         [0075]    In step S 411 , the main body control unit  115  is notified of the setting of the manuscript. 
         [0076]    In step S 413 , reference is made to the reception flag in order to determine whether a scan request has been made by the main body control unit  115 . When there is a scan request from the main body control unit  115 , the process goes to step S 415 . At the same time, the reception flag indicating the scan request from the main body control unit  115  is reset. 
         [0077]    In step S 415 , it is determined whether, based on the output signal from the ADF lift sensor  121 , the ADF  101  is lifted by the user. If the ADF lift sensor  121  detects no lifting of the ADF  101 , the process goes to step S 417 . 
         [0078]    In step S 417 , the ADF  101  is instructed to start operating, whereby the manuscript set on the manuscript tray is transported onto the upper surface of the scanner  103 . When there are more than one sheet of manuscript, the reading of the initially transported manuscript sheet by the read scanner  103  is completed before the next manuscript sheet is transported to the scanner  103 . 
         [0079]    In step S 419 , the scanner  103  is instructed to start operating, whereby the image information in the manuscript placed on the upper surface is read. When all of the manuscript sheets have been read, the process returns to step S 401 . 
         [0080]    In step S 403 , if the ADF lift sensor  121  detects no lifting of the ADF  101 , the process goes to step S 407 . In step S 409 , if the manuscript sensor  122  detects no setting of the manuscript, the process goes to step S 413 . In step S 413 , if there is no scan request from the main body control unit  115 , the process goes back to step S 401 . In step S 415 , if the ADF lift sensor  121  detects the lifting of the ADF  101 , the process goes to step S 419 . 
         [0081]    The main body control unit  115  includes a CPU and a memory (both not shown) in which a program written in codes that can be decoded by the CPU  115   a  and various data are stored. Hereafter, a key input operation performed by the main body control unit  115  is described with reference to a flowchart shown in  FIGS. 13 and 14 . The flowchart shown in  FIGS. 13 and 14  corresponds to a process algorithm executed by the CPU in accordance with the program in the memory. 
         [0082]    When power is turned on, a start address of the program is set in the program counter of the CPU, whereby an operation of the main body control unit  115  is started. When the key input operation is requested, the program corresponding to the flowchart of  FIGS. 13 and 14  (which may be a subroutine or a module) is called. 
         [0083]    Communications with the input unit control unit  116 , the ADF/scanner unit control unit  120 , and the ID reader  123  are conducted via interrupt processes for both transmission and reception (i.e., a reception interrupt process and a transmission interrupt process). Upon notice from either the input unit control unit  116 , the ADF/scanner unit control unit  120 , or the ID reader  123 , a corresponding reception flag is set in the reception interrupt process. 
         [0084]    In the initial step S 501 , a timer counter A is reset. The timer counter A is counted up by the timer interrupt process. 
         [0085]    In step S 503 , an output signal is acquired from the user sensor  114 . 
         [0086]    In step S 505 , based on the output signal from the user sensor  114 , it is determined whether the user sensor  114  has detected a user. If not, the process goes to step S 507 . 
         [0087]    In step S 507 , reference is made to the reception flag to determine whether the ADF  101  is being lifted. Unless there is a notification from the ADF/scanner unit control unit  120  that the ADF  101  is lifted, the process goes to step S 509 . 
         [0088]    In step S 509 , reference is made to the reception flag to determine whether a manuscript is set in the manuscript tray of the ADF  101 . Unless there is a notification from the ADF/scanner unit control unit  120  that a manuscript is set, the process goes to step S 511 . 
         [0089]    In step S 511 , reference is made to the timer counter A to determine whether a time-out duration has run out. If the value of the timer counter A is below a predetermined value, the process goes back to step S 503 . 
         [0090]    On the other hand, if in step S 505  the user sensor  114  indicates a detection, the process goes to step S 513 . 
         [0091]    In step S 507 , if there is the notification from the ADF/scanner unit control unit  120  that the ADF  101  is lifted, the process goes to step S 513 . At the same time, the reception flag indicating the lifting of the ADF  101  is reset. 
         [0092]    In step S 509 , if there is the notification from the ADF/scanner unit control unit  120  that the manuscript is set, the process goes to step S 513 . At the same time, the reception flag indicating the setting of the manuscript is reset. 
         [0093]    In step S 513 , a message requesting the input of a user ID is displayed on the operating panel display unit  102 . 
         [0094]    In step S 515 , a timer counter B is reset. The timer counter B is counted up by the timer interrupt process. 
         [0095]    In step S 517 , reference is made to the reception flag to determine whether the user ID has been entered. If there is no notice of the user ID from the ID reader  123 , the process goes to step S 519 . 
         [0096]    In step S 519 , reference is made to the timer counter B to determine whether the time-out duration has run out. If the value of the timer counter B is below a predetermined value, the process goes back to step S 517 . If the value of the timer counter B exceeds the predetermined value, the process goes back to step S 501 . 
         [0097]    In step S 517 , if there is the notification from the ID reader  123  about the user ID, the process goes to step S 551 . The reception flag indicating the notification of the user ID is also reset. 
         [0098]    In step S 551 , reference is made to the user information stored in the memory  124 , and the virtual key information corresponding to the indicated user ID is acquired. The virtual key information may include a virtual key number that specifies the kind and arrangement of the virtual keys and the size of each of the keys, and the presence or absence of the second table  108   b.    
         [0099]    In step S 553 , the input unit control unit  116  is notified of the virtual key information acquired. 
         [0100]    In step S 555 , a message is displayed on the operating panel display unit  102  indicating that a key input can be made. 
         [0101]    In step S 557 , it is determined whether a notification is received from the input unit control unit  116  indicating the running out of the time-out duration. If not, the process goes to step S 559 . 
         [0102]    In step S 559 , it is determined whether there is a notification of key data from the input unit control unit  116 . If not, the process goes to step S 563 . 
         [0103]    In step S 563 , an output signal from the user sensor  114  is acquired. 
         [0104]    In step S 565 , it is determined whether, based on the output signal from the user sensor  114 , the user sensor  114  has detected a user. If not, the process goes to step S 567 . 
         [0105]    In step S 567 , the process waits for a predetermined time. 
         [0106]    In step S 569 , an output signal from the user sensor  114  is again acquired. 
         [0107]    In step S 571 , based on the output signal from the user sensor  114 , it is determined whether the user sensor  114  has detected a user. If not, the process goes to step S 573 . 
         [0108]    In step S 573 , it is determined that the key input operation should be terminated, and the input unit control unit  116  is notified of the end of key input. This completes the key input operation, and the system may transition to another process or operation. 
         [0109]    In step S 511 , if the value of the timer counter A exceeds the predetermined value, the process goes to step S 573 . 
         [0110]    In step S 557 , if there is the notification from the input unit control unit  116  about the time-out, the process goes back to step S 501 . The reception flag indicating the time-out notification is also reset. 
         [0111]    In step S 565 , if the user sensor  114  indicates the detection of a user, the process goes back to step S 557 . 
         [0112]    Similarly, in step S 571 , if the user sensor  114  indicates the detection of a user, the process goes back to step S 557 . 
         [0113]    In step S 559 , if there is the notification of key data from the input unit control unit  116 , the process goes to step S 575 . The reception flag indicating the key data notification is also reset. 
         [0114]    In step S 575 , it is determined whether the key data indicates the “Start” key. If the key data corresponds to the “Start” key, the process goes to step S 577 . 
         [0115]    In step S 577 , it is determined whether a manuscript needs to be scanned. For example, when the multifunction peripheral  100  is set to operate as a copy machine or a scanner, the process goes to step S 579 . 
         [0116]    In step S 579 , a scan request is sent to the ADF/scanner unit control unit  120 . 
         [0117]    In step S 581 , a condition setting process or any other process in accordance with the key data is performed. The process then goes back to step S 557 . 
         [0118]    In step S 575 , if the key data does not correspond to the “Start” key, the process goes to step S 581 . In step S 581 , when the key data corresponds to the “Copy” key, the multifunction peripheral  100  is set to operate as a copy machine. When the key data corresponds to the “Scanner” key, the multifunction peripheral  100  is set to operate as a scanner. When the key data corresponds to the “Printer” key, the multifunction peripheral  100  is set to operate as a printer. 
         [0119]    In step S 577 , when the multifunction peripheral  100  is set to operate as a printer, for example, the process goes to step S 581 . 
         [0120]    The input unit control unit  116  includes a CPU and a memory (both not shown) in which a program written in codes that can be decoded by the CPU and various data are stored. Hereafter, an operation of the input unit control unit  116  is described with reference to a flowchart shown in  FIGS. 15 and 16 . The flowchart of  FIGS. 15 and 16  corresponds to a process algorithm executed by the CPU of the input unit control unit  116  in accordance with the program in the memory. 
         [0121]    When power is turned on, a start address of the program is set in a program counter of the CPU, whereby the process is started. 
         [0122]    In the present example, communications with the main body control unit  115  are conducted via interrupt processes for both transmission and reception (i.e., a reception interrupt process and a transmission interrupt process). Upon notification from the main body control unit  115 , a corresponding reception flag is set in the reception interrupt process. 
         [0123]    In the initial step S 601 , reference is made to the reception flag to determine whether there is a notification from the main body control unit  115  concerning virtual key information. If there is the virtual key information notification from the main body control unit  115 , the process goes to step S 603 . The reception flag indicating the notification of virtual key information is also reset. 
         [0124]    In step S 603 , various information is identified based on the virtual key information, such as the kind and arrangement of the virtual keys, the size of each virtual key, and the presence or absence of the second table  108   b . In the present example, the memory stores projection data for each virtual key number in advance, the data including the kind and arrangement of the virtual keys, the size of each virtual key, and the presence or absence of the second table  108   b . Thus, the virtual key number enables the retrieval and extraction of relevant projection data. 
         [0125]    In step S 605 , based on the acquired projection data, it is determined whether the second table  108   b  in the projection table unit  108  is required. If not, the process goes to step S 607 . 
         [0126]    In step S 607 , the table drive unit  129  is instructed to retract the second table  108   b  into the first table  108   a  (see  FIG. 17 ). The second table  108   b  may be moved in the +X direction until the protrusion  126  of the second table  108   b  contacts the protrusion sensor  128   b . When the second table  108   b  is already retracted in the first table  108   a , no operation is performed. 
         [0127]    In step S 609 , the projection drive mechanism  109   b  is instructed to set the size of the projected region on the table to “Small”. 
         [0128]    In step S 615 , based on the projection data, projection image data is outputted to the projector unit  109 . 
         [0129]    In step S 617 , the projector unit  109  is instructed to perform projection. Thus, a virtual key image is projected on the first table  108   a  as shown in  FIG. 18 . 
         [0130]    In step S 619 , the infrared device  111  is instructed to emit infrared light. 
         [0131]    In step S 621 , the CMOS camera  110  is turned on, and the key finalizing flag is reset. 
         [0132]    In step S 623 , a timer counter A is reset. The timer counter A is counted up by the timer interrupt process. 
         [0133]    In step S 625 , based on the output signal from the CMOS camera  110 , it is determined whether the CMOS camera  110  has received reflected light of the infrared light. If the CMOS camera  110  has received the reflected light of the infrared light, the process goes to step S 627 . 
         [0134]    In step S 627 , reference is made to the timer counter A to determine whether the time-out duration has run out. If the value of the timer counter A is below a predetermined value, the process returns to step S 625 . On the other hand, if the value of the timer counter A exceeds the predetermined value, the process goes to step S 629 . 
         [0135]    In step S 629 , the main body control unit  115  is notified of the running out of the time-out duration. Then, the process returns to step S 601 . 
         [0136]    In step S 601 , if there is no notification from the main body control unit  115  concerning the virtual key information, the process waits until the notification about the virtual key information is received from the main body control unit  115 . 
         [0137]    In step S 605 , if the second table  108   b  is required, the process goes to step S 611 . 
         [0138]    In step S 611 , the table drive unit  129  is instructed to draw out the second table  108   b  from the first table  108   a  (see  FIG. 19 ). In the present example, the second table  108   b  is moved in the −X direction until the protrusion  126  of the second table  108   b  contacts the protrusion sensor  128   a . When the second table  108   b  is already drawn out of the first table  108   a , no operation is performed. 
         [0139]    In step S 613 , the projection drive mechanism  109   b  is instructed to set the size of the projected region on the table to “Large”. Then, the process goes to step S 615 . At this time, a virtual key image is projected on the first table  108   a  and the second table  108   b  in step S 617 , as shown in  FIG. 20 , for example. 
         [0140]    In step S 625 , if the CMOS camera  110  receives the reflected light of infrared light, the process goes to step S 651 . 
         [0141]    In step S 651 , based on the output signal from the CMOS camera  110 , a position at which the reflected light is received on the CMOS camera  110  is determined. 
         [0142]    In step S 653 , the process waits for a predetermined time. 
         [0143]    In step S 655 , based on the output signal from the CMOS camera  110 , the position at which the reflected light is received on the CMOS camera  110  is again determined. 
         [0144]    In step S 657 , it is determined whether the reflected light reception position determined in step S 651  is the same as the reflected light reception position determined in step S 655 . If the reception positions are the same, the process goes to step S 659 . The reception positions may be considered the same if the difference between them is within a predetermined range. 
         [0145]    In step S 659 , reference is made to the projection data, and key data corresponding to the reflected light reception position is searched for. 
         [0146]    The relationship between the various reflected light reception positions on the CMOS camera  110  and the corresponding positions of the finger on the table is acquired in advance through various preliminary experiments. Information concerning the relationship is stored in the memory of the input control unit. Thus, the position of the finger on the table can be known from the reflected light reception position on the CMOS camera  110 . Further, the kind of the virtual key projected at the position of the finger can be known from the position of the finger on the table and the projection data. 
         [0147]    In step S 661 , it is determined whether there is key data corresponding to the reception position of the reflected light. If there is the corresponding key data, the process goes to step S 663 . 
         [0148]    In step S 663 , if the key finalizing flag is in a reset status, the main body control unit  115  is notified of the key data corresponding to the reception position of the reflected light, and the key finalizing flag is set. 
         [0149]    In step S 665 , reference is made to the reception flag to determine whether there is a notification from the main body control unit  115  indicating the end of key input. If not, the process returns to step S 623 . 
         [0150]    In step S 657 , if the respective reception positions are different, the process returns to step S 623 , and the key finalizing flag is reset. 
         [0151]    In step S 661 , if there is no key data corresponding to the reception position of the reflected light, the process returns to step S 623 , and the key finalizing flag is reset. 
         [0152]    In step S 665 , if there is the notification indicating the end of key input, the process proceeds to step S 667 . The reception flag indicating the notification of the end of key input is also reset. 
         [0153]    In step S 667 , the projector unit  109  is instructed to stop projecting. 
         [0154]    In step S 669 , the infrared device  111  is instructed to stop emitting infrared light. 
         [0155]    In step S 671 , the CMOS camera  110  is turned off, and the process returns to step S 601 . 
         [0156]    Thus, in accordance with the multifunction peripheral  100  of the present embodiment, the input apparatus includes the projection table unit  108 , the input unit  107 , and the ID reader  123 . The position detecting device includes the infrared device  111 , the CMOS camera  110 , and the input unit control unit  116 . The key detecting device includes the input unit control unit  116 . The user information input unit includes the ID reader  123 . 
         [0157]    As described above, the multifunction peripheral  100  according to the present embodiment includes the projection table unit  108  having a table whose size can be changed; the projector unit  109  for projecting an image of plural virtual keys on the table, the keys corresponding to the size of the table; the infrared device  111  for emitting infrared light near a region on the table where the image of the plural virtual keys is projected; the CMOS camera  110  on which infrared light reflected by the finger of a user placed on the table is incident and that outputs a signal including position information about the finger of the user on the table; and the input unit control unit  116  for detecting one of the plural virtual keys that corresponds to the position of the user&#39;s finger, based on the information about the image of the plural virtual keys and the output signal from the CMOS camera  110 . 
         [0158]    In accordance with the present embodiment, the user can input an instruction to the multifunction peripheral main body non-mechanically, so that the durability of the input apparatus or the multifunction peripheral can be improved. Further, because the size of the table can be changed as needed, enhanced operability can be obtained. 
         [0159]    In accordance with the foregoing embodiment, the key input operation is started by the main body control unit  115  when the user either stands in front of the multifunction peripheral  100 , sets a manuscript, or performs a preliminary operation (preparatory operation) for the setting of the manuscript, for example. Thus, the input unit  107  can activate the projector unit  109 , the CMOS camera  110 , or the infrared device  111  only when necessary, thereby contributing to the saving of energy. 
         [0160]    In the foregoing embodiment, because the plural virtual keys corresponding to the user ID are projected, further enhanced operability can be obtained. 
         [0161]    In an embodiment of the present invention, at least part of the process performed by the input unit control unit  116  may be implemented by hardware. At least part of the key input operation performed by the main body control unit  115  may be performed by the input unit control unit  116 . For example, the process of acquiring the virtual key information corresponding to the user ID may be performed by the input unit control unit  116 . 
         [0162]    At least part of the key input operation performed by the main body control unit  115  may be performed by hardware. At least part of the process performed by the ADF/scanner unit control unit  120  may be performed by the main body control unit  115  or other hardware. 
         [0163]    While in the foregoing the second table  108   b  is described as being drawing in and out mechanically by the table drive unit  129 , the second table  108   b  may be drawn in or out by the user manually. The size of the table is not limited to the two sizes described above, and there may be three or more sizes of the table so that the second table  108   b  can be drawn in or out in multiple steps. 
         [0164]    While the virtual key information is described above as being different from one user to another, the present invention is not limited to such embodiment. In another embodiment, the virtual key information may be varied depending on the size of the table. In this case, after the second table  108   b  is drawn in or out manually, the virtual key information may be acquired in accordance with the position of the second table  108   b  (in the X axis direction). 
         [0165]    While the user ID is entered using the ID reader  123  in the foregoing embodiment, the present invention is not limited to such an embodiment. In another embodiment, information identifying virtual key information may be entered using the ID reader  123 . For example, the virtual key number may be entered using the ID reader  123 . 
         [0166]    The user ID may be entered in other ways than using the ID reader  123 . For example, the user ID may be entered via a higher-level apparatus (such as a personal computer). 
         [0167]    In the foregoing description, the main body control unit  115  has been described as transitioning to a next operation (i.e., in step S 513  in the present embodiment) upon detection of any of the events of detection of a user, the lifting of the ADF, or the setting of a manuscript during the key input operation. However, the present invention is not limited to such an embodiment. In another embodiment, the main body control unit  115  may transition to the next operation upon detection of a combination of the presence of the user and either the lifting of the ADF or the setting of the manuscript. 
         [0168]    While the size of the projected region has been described as being changed using the projection drive mechanism  109   b , the present invention is not limited to such an embodiment. In another embodiment, instead of the projection drive mechanism  109   b , an aperture mechanism may be used that has plural apertures with different opening sizes. Then, an appropriate aperture corresponding to the size of the projected region can be disposed on the optical path (such as after the projection lens  109   a   5 ). In another embodiment, the liquid crystal panel  109   a   4  may be provided with an aperture function by incorporating mask data corresponding to the size of the projected region into the projection image data. 
         [0169]    The kind, arrangement, and size of the virtual keys projected on the table in the foregoing embodiment are merely examples and the present invention is not limited to such an embodiment. The color of the virtual keys may be varied depending on the kind of the key. In this case, a color liquid crystal panel may be used instead of the liquid crystal panel  109   a   4 . 
         [0170]    While the foregoing embodiment has been described with reference to a multifunction peripheral as an example of image forming apparatus, the present invention is not limited to the multifunction peripheral. For example, the image forming apparatus may be a copy machine, or any other image forming apparatus configured to form an image based on an instruction entered by the user. 
         [0171]    Thus, the input apparatus according to an embodiment of the present invention can be suitably used by a user for entering an instruction into an apparatus main body. The image forming apparatus according to an embodiment of the present invention can be suitably used for forming an image based on an instruction entered by the user. 
         [0172]    Although this invention has been described in detail with reference to certain embodiments, variations and modifications exist within the scope and spirit of the invention as described and defined in the following claims. 
         [0173]    The present application is based on the Japanese Priority Application No. 2008-158739 filed Jun. 18, 2008, the entire contents of which are hereby incorporated by reference.