Patent Publication Number: US-9886089-B2

Title: Method and apparatus for controlling vibration

Description:
PRIORITY 
     This application claims priority under 35 U.S.C. §119(a) to a Korean Patent Application filed in the Korean Intellectual Property Office on May 21, 2013 and assigned Serial No. 10-2013-0057328, the entire disclosure of which is incorporated herein by reference. 
     BACKGROUND 
     1. Field of the Invention 
     The present invention generally relates to a portable device, and more particularly, to a method and apparatus for controlling vibration in a portable device and an input device. 
     2. Description of the Related Art 
     Portable devices have recently provided more and more services and additional functions. In order to increase the utility of portable devices and satisfy various user demands, a variety of applications have been developed for the portable devices. 
     Portable devices, such as a smart phone or a tablet Personal Computer (PC), are capable of storing a large number of such applications. Shortcut keys are displayed in the form of icons on the touch screen of a portable device to execute the individual applications. A user can execute an intended application in the portable device by touching one of the displayed icons. In addition to the shortcut keys, various visual objects including widgets, photos, and text are displayed on the touch screen of the portable device. 
     Information is input to the portable device by touching the displayed objects using an input device such as a user&#39;s finger, an electronic pen, a stylus pen, or the like. 
     An input can be applied by hovering the input device over the touch screen in a non-contact manner as well as directly touching the touch screen in the portable device. Thus a user-friendly User Interface (UI) is provided. 
     Recently, a portable device has been configured so as to generate vibration upon receipt of a touch input on a touch screen, in order to provide a feeling to a user that simulates pressing a button. Research has been made on various touch input techniques to satisfy user demands for new, pleasant multi-sense interfaces. 
     As described above, in the related art when a user manipulates a portable device, the portable device provides vibration to the user through a touch screen so as to given a sense of manipulation to the user. With this scheme, the user may only feel a touch of an input device on the touch screen, without a real feeling of using an application. Accordingly, there is a need for providing an improved UI input device to satisfy increasing user demands for a touch input of an input device beyond a simple role of selecting an object displayed on a touch screen. 
     SUMMARY 
     The present invention has been made to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention is to provide a method and apparatus for, when a user manipulates a User Interface (UI) in a portable device equipped with at least one touch screen, organically generating vibration between an input device and the portable device. 
     In accordance with an aspect of the present invention, there is provided a method for controlling vibration in a portable device. The method includes detecting a user input corresponding to a gesture made on a touch screen by an input device, detecting an action attribute of the portable device corresponding to the user input, determining a first vibration to be output from the input device and a second vibration to be output from the portable device according to the action attribute, determining generation times of the first and second vibrations according to the action attribute, and controlling output of the first vibration from the input device and output of the second vibration from the portable device according to the action attribute. 
     In accordance with another aspect of the present invention, there is provided a portable device. The portable device includes a touch screen configured to display at least one object under the control of a controller, a communication module configured to conduct short-range communication with an input device under the control of the controller, and the controller configured to detect a user input corresponding to a gesture made on the touch screen by the input device, to detect an action attribute of the portable device corresponding to the user input, to determine a first vibration to be output from the input device and a second vibration to be output from the portable device according to the action attribute, to determine generation times of the first and second vibrations according to the action attribute, to control output of the first vibration from the input device by transmitting a control signal corresponding to the first vibration to the input device according to the attribute action through the communication module, and to control output of the second vibration from the portable device according to the action attribute. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The above and other aspects, features and advantages of certain embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings, in which: 
         FIG. 1  is a block diagram of a portable device according to an embodiment of the present invention; 
         FIG. 2  is a front perspective view of a portable device according to an embodiment of the present invention; 
         FIG. 3  is a rear perspective view of a portable device according to an embodiment of the present invention; 
         FIG. 4  illustrates an input unit for providing a vibration effect and an interior section of a touch screen according to an embodiment of the present invention; 
         FIG. 5  is a block diagram of an input unit according to an embodiment of the present invention; 
         FIGS. 6, 7, and 8  are flowcharts illustrating operations of a portable device, upon execution of a game application, according to embodiments of the present invention; 
         FIGS. 9A, 9B, 10A, 10B, 11A, 11B, and 12  illustrate execution screens of game applications according to embodiments of the present invention; 
         FIG. 13  is a flowchart illustrating an operation of a portable device upon execution of an image application according to an embodiment of the present invention; 
         FIGS. 14A and 14B  illustrate execution screens of an image application according to an embodiment of the present invention; 
         FIG. 15  is a flowchart illustrating an operation of a portable device upon execution of an image application according to an embodiment of the present invention; 
         FIGS. 16A and 16B  illustrate execution screens of an image application according to an embodiment of the present invention; 
         FIG. 17  illustrates a method for providing a feedback in a portable device according to an embodiment of the present invention; 
         FIGS. 18 and 19  are flowcharts illustrating operations of a portable device upon execution of a drawing application according to embodiments of the present invention; 
         FIGS. 20A and 20B  illustrate execution screens of a drawing application according to an embodiment of the present invention; 
         FIG. 21  is a flowchart illustrating an operation of a portable device upon execution of a map application according to an embodiment of the present invention; 
         FIGS. 22A and 22B  illustrate execution screens of a map application according to an embodiment of the present invention; and 
         FIGS. 23 and 24  illustrate vibration waveforms according to an embodiment of the present invention. 
     
    
    
     Throughout the drawings, like reference numerals will be understood to refer to like parts, components, and structures. 
     DETAILED DESCRIPTION OF EMBODIMENTS OF THE PRESENT INVENTION 
     The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of embodiments of the invention as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as mere examples. Accordingly, those of ordinary skilled in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness. 
     The terms and words used in the following description and claims are not limited to their dictionary meanings, but are merely used to enable a clear and consistent understanding of the invention. Accordingly, it should be apparent to those skilled in the art that the following description of embodiments of the present invention is provided for illustration purpose only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents. 
     It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces. 
     By the term “substantially” it is meant that the recited characteristic, parameter, or value need not be achieved exactly, but that deviations or variations, including for example, tolerances, measurement error, measurement accuracy limitations and other factors known to those of skill in the art, may occur in amounts that do not preclude the effect the characteristic was intended to provide. 
     The present invention provides an organic vibration feedback between a portable device equipped with a touch screen and an input device, when a user input is applied to the touch screen of the portable device through the input device. 
     According to the present invention, upon detection of a user input corresponding to a gesture made on the touch screen by the input device, the portable device detects an action attribute of the portable device corresponding to the user input, determines a first vibration to be output from the input device and a second vibration to be output from the portable device according to the action attribute, and controls output of the respective first and second vibrations from the input device and the portable device, respectively. 
     The action attribute includes application information related to an application that is being executed when the user input is detected, for example, state information related to a progress of the application. The action attribute may also include a command corresponding to the user input in relation to the progress state of the application at the moment the user input is detected. 
     An example of a portable device to which the present invention is applied is illustrated in  FIG. 1 .  FIG. 1  is a block diagram of a portable device according to an embodiment of the present invention. 
     Referring to  FIG. 1 , the portable device  100  may be connected to an external device through at least one of a mobile communication module  120 , a sub-communication module  130 , a connector  165 , and an earphone connector jack  167 . The term “external device” covers a variety of devices that can be detachably connected to the portable device  100  by wire, such as an earphone, an external speaker, a Universal Serial Bus (USB) memory, a charger, a cradle, a docking station, a Digital Multimedia Broadcasting (DMB) antenna, a mobile payment device, a health care device (for example, a blood sugar meter, etc.), a game console, a vehicle navigator, and the like. The external device may also include a device wirelessly connectable to the portable device  100  by short-range communication, such as a Bluetooth communication device, a Near Field Communication (NFC) device, a Wireless Fidelity (WiFi) Direct communication device, a wireless Access Point (AP), and the like. In addition, the portable device may be connected to another device by wire or wirelessly, such as a portable phone, a smartphone, a tablet Personal Computer (PC), a desktop PC, a server, and the like. 
     Referring to  FIG. 1 , the portable device  100  includes at least one touch screen  190  and at least one touch screen controller  195 . The portable device  100  further includes a controller  110 , the mobile communication module  120 , the sub-communication module  130 , a multimedia module  140 , a camera module  150 , a Global Positioning System (GPS) module  157 , an Input/Output (I/O) module  160 , a sensor module  170 , a memory  175 , and a power supply  180 . 
     The sub-communication module  130  includes at least one of a Wireless Local Area Network (WLAN) module  131  and a short-range communication module  132 , and the multimedia module  140  includes at least one of a broadcasting communication module  141 , an audio play module  142 , and a video play module  143 . The camera module  150  includes at least one of a first camera  151  and a second camera  152 . In the portable device  100  of the present invention, the camera module  150  may include at least one of a barrel  155  for zooming in or zooming out the first camera  151  and/or the second camera  152 , a motor  154  for controlling movement of the barrel  155  for zoom-in or zoom-out, and a flash  153  for providing a light source to capture an image. The I/O module  160  includes at least one of buttons  161 , a microphone  162 , a speaker  163 , a vibration motor  164 , the connector  165 , and a keypad  166 . 
     The controller  110  may include a Central Processing Unit (CPU)  111 , a Read Only Memory (ROM)  112  for storing a control program to control the portable device  100 , and a Random Access Memory (RAM)  113  for storing signals or data received from the outside of the portable device  100  or for use as a memory space for an operation performed by the portable device  100 . The CPU  111  may include one or more cores. The CPU  111 , the ROM  112 , and the RAM  113  may be interconnected through an internal bus. 
     The controller  110  controls the mobile communication module  120 , the sub-communication module  130 , the multimedia module  140 , the camera module  150 , the GPS module  157 , the I/O module  160 , the sensor module  170 , the memory  175 , the power supply  180 , the touch screen  190 , and the touch screen controller  195 . 
     With a plurality of objects displayed on the touch screen  190 , the controller  110  detects a user input on the touch screen  190 , corresponding to a gesture made by a touch input device  168  such as an electronic pen. In an embodiment of the present invention, the user input corresponding to the gesture of the input device  168  may include a touch input created by directly touching the touch screen  190  and a hovering input created by hovering the input device  168  above the touch screen  190 . 
     With a plurality of objects displayed on the touch screen  190 , the controller  110  determines whether the touch input device  168  such as an electronic pen has approached an object and has hovered above the object and identifies the object corresponding to the position of the hovering. Further, the controller  110  determines the height of the input device  168  above the portable device  100  and sense a hovering input event according to the height. The hovering input event includes at least one of pressing of a button formed in the input device  168 , a tap of the input device  168 , faster movement of the input device  168  than a predetermined speed, and a touch on an object. A different vibration pattern may be set according to the distance between the input device  168  and the touch screen  190 . Distances for which different vibration patterns are set may vary. Upon generation of a hovering input event, the controller  110  may display a predetermined hovering input effect corresponding to the hovering input event on the touch screen  190 . 
     The controller  110  detects an action attribute corresponding to a user input. The action attribute includes at least one of application information related to a progress state of an application that is being executed when the user input is applied to the portable device  100 , and a command corresponding to the user input. The application information includes at least one of identification information about the ongoing application, state information about the application in relation to the progress of the application, and information about an object selected by the user input from among at least one object displayed on the touch screen  190  along with the progress of the application. The command generated by the user input may be determined according to the type and progress state of the ongoing application or the selected object. 
     The controller  110  determines a first vibration to be output from the input device  168  or a second vibration to be output from the portable device  100  according to the attribute action detected corresponding to the touch input or the hovering input of the input device  168 , determines generation times of the first and second vibrations to be output from the input device  168  and the portable device  100 , and controls output of the first and second vibrations. Specifically, the controller  110  controls output of the first vibration from the input device  168  by transmitting a control signal corresponding to the first vibration to the input device  168  at a determined time point according to the action attribute. In addition, the controller  110  controls output of the second vibration from the portable device  100  by controlling a vibration motor  164  according to the action attribute, so that the vibration motor  164  may generate the second vibration at a determined time point. 
     For example, after the input device  168  generates the first vibration, the controller  110  may control generation of the second vibration from the portable device  100  according to the action attribute. Alternatively, after the portable device  100  generates the second vibration, the controller  110  may also control generation of the first vibration from the input device  168  according to the action attribute. The controller  110  may also control simultaneous generation of the first vibration and the second vibration from the input device  168  and the portable device  100 . 
     Since each of the two devices generates vibration organically in response to a user input, a user may feel a realistic sense of manipulation. 
     The mobile communication module  120  may connect the portable device  100  to an external device through one or more antennas by mobile communication under the control of the controller  110 . The mobile communication module  120  transmits wireless signals to or receives wireless signals from a portable phone, a smart phone, a tablet PC, or another electronic device that has a phone number input to the portable device  100 , for a voice call, a video call, a Short Message Service (SMS), or a Multimedia Messaging Service (MMS). 
     The sub-communication module  130  includes at least one of the WLAN module  131  and the short-range communication module  132 . For example, the sub-communication module  130  may include either or both of the WLAN module  131  and the short-range communication module  132 . 
     The WLAN module  131  may be connected to the Internet under the control of the controller  110  in a place where a wireless AP is installed. The WLAN module  131  supports the WLAN standard IEEE802.11x of the Institute of Electrical and Electronics Engineers (IEEE). The short-range communication module  132  conducts short-range wireless communication between the portable device  100  and an image forming device under the control of the controller  110 . The short-range communications scheme may conform to Bluetooth, Infrared Data Association (IrDA), WiFi Direct, Near Field Communication (NFC), and the like. 
     The controller  110  transmits a control signal for vibration to the input device  168  through at least one of the WLAN module  131  and the short-range communication module  132  of the sub-communication module  130 . 
     The portable device  100  includes at least one of the mobile communication module  120 , the WLAN module  131 , and the short-range communication module  132  according to its capabilities. For example, the portable device  100  may include a combination of the mobile communication module  120 , the WLAN module  131 , and the short-range communication module  132 . In the present invention, at least one or a combination of two or more of the mobile communication module  120 , the WLAN module  131 , and the short-range communication module  132  is referred to as a transceiver, which should not be construed as limiting the scope of the present invention. 
     The multimedia module  140  includes the broadcasting communication module  141 , the audio play module  142 , or the video play module  143 . The broadcasting communication module  141  may receive a broadcast signal (for example, a TV broadcast signal, a radio broadcast signal, a data broadcast signal, etc.) and additional broadcasting information (for example, an Electronic Program Guide (EPG), Electronic Service Guide (ESG), etc.) from a broadcasting station through a broadcasting communication antenna under the control of the controller  110 . The audio play module  142  may open a stored or received digital audio file (for example, a file having such an extension as mp3, wma, ogg, or way) under the control of the controller  110 . The video play module  143  may open a stored or received digital video file (for example, a file having such an extension as mpeg, mpg, mp4, avi, mov, or mkv) under the control of the controller  110 . The video play module  143  may also open a digital audio file. 
     The multimedia module  140  may include the audio play module  142  and the video play module  143  without the broadcasting communication module  141 . One or both of the audio play module  142  and the video play module  143  of the multimedia module  140  may be incorporated into the controller  110 . 
     The camera module  150  includes at least one of the first camera  151  and the second camera  152 , for capturing a still image or a video under the control of the controller  110 . The camera module  150  may include at least one of the barrel  155  for zooming in or zooming out the first camera  151  and/or the second camera  152 , the motor  154  for controlling movement of the barrel  155  for zoom-in or zoom-out, and the flash  153  for providing a light source to capture an image. The first camera  151  may be disposed on the front surface of the portable device  100 , while the second camera  152  may be disposed on the rear surface of the portable device  100 . Alternatively, the first camera  151  and the second camera  152  may be arranged near to each other (for example, the distance between the first camera  151  and the second camera  152  is between 1 cm and 8 cm) in order to capture a three-dimensional still image or video. 
     Each of the first and second cameras  151  and  152  may include a lens system and an image sensor. The first and second cameras  151  and  152  convert optical signals received through (or captured by) the lens systems to electrical image signals and output the electrical image signals to the controller  110 . The user may capture a video or a still image using the first and second cameras  151  and  152 . 
     The GPS module  157  receives radio waves from a plurality of GPS satellites in the Earth&#39;s orbit and determines a position of the portable device  100  based on the Time of Arrivals (ToAs) of satellite signals from the GPS satellites to the portable device  100 . 
     The I/O module  160  may include at least one of the plurality of buttons  161 , the microphone  162 , the speaker  163 , the vibration motor  164 , the connector  165 , and the keypad  166 , to which the I/O module  160  is not limited. A cursor control such as a mouse, a trackball, a joystick, or cursor directional keys may be provided for communication with the controller and for control of cursor movement on the touch screen  190 . 
     The buttons  161  may be formed on the front surface, a side surface, or the rear surface of a housing of the portable device  100 , and may include at least one of a power/lock button, a volume button, a menu button, a home button, a back button, a search button, etc. 
     The microphone  162  receives a voice or a sound and converts the received voice or sound to an electrical signal under the control of the controller  110 . 
     The speaker  163  outputs sounds corresponding to various signals (for example, a wireless signal, a broadcast signal, a digital audio file, a digital video file, a photo shot, etc.) received from the mobile communication module  120 , the sub-communication module  130 , the multimedia module  140 , and the camera module  150  and a sound corresponding to a control signal transmitted to the input device  168  by Bluetooth to the outside of the portable device  100  under the control of the controller  110 . The sound corresponding to the control signal includes a sound related to activation of a vibration device  520  (See  FIG. 5 ), a sound having a variable volume according to a vibration strength, and a sound related to deactivation of the vibration device  520 . The volume of the sound may be controlled according to the vibration strength of the vibration device  520  in the input device  168 , or the sound may be output through the speaker  163  of the portable device  100  and/or a speaker (not shown) that may be provided in the input device  168 , simultaneously with activation of the vibration device  520  or within a predetermined time (for example, 10 ms) before or after activation of the vibration device  520 . The sound may end simultaneously with deactivation of the vibration device  520  or a predetermined time (for example, 10 ms) before or after deactivation of the vibration device  520 . The speaker  163  may output sounds corresponding to functions (for example, a button manipulation sound, a ringback tone for a call, etc.) performed by the portable device  100 . One or more speakers  163  may be disposed at an appropriate position or positions of the housing of the portable device  100 . 
     The vibration motor  164  converts an electrical signal to a mechanical vibration under the control of the controller  110 . For example, when the portable device  100  receives an incoming voice call from another device (not shown) in vibration mode, the vibration motor  164  operates. One or more vibration motors  164  may be mounted inside the housing of the portable device  100 . The vibration motor  164  may operate in response to a user&#39;s touch on the touch screen  190  and a continuous movement of the touch on the touch screen  190 . 
     The connector  165  may be used as an interface for connecting the portable device  100  to an external device or a power source. The connector  165  may transmit data stored in the memory  175  to the external device via a cable connected to the connector  165  or may receive data from the external device via the cable, under the control of the controller  110 . The portable device  100  receives power or charge a battery from the power supply via the cable connected to the connector  165 . 
     The keypad  166  receives a key input from the user to control the portable device  100 . The keypad  166  includes a physical keypad formed in the portable device  100  or a virtual keypad displayed on the touch screen  190 . The physical keypad may or may not be provided according to the capabilities or configuration of the portable device  100 . 
     An earphone may be connected to the portable device  100  by being inserted into the earphone connector jack  167 . The input device  168  may be inserted and kept inside the portable device  100 , as shown in  FIG. 3 . When the input device  168  is used, it may be extended or removed from the portable device  100 . An insertion/removal sensing switch  169  is provided in an internal area of the portable device  100  into which the input device  168  is inserted, in order to operate in response to insertion and removal of the input device  168 . The insertion/removal sensing switch  169  outputs signals corresponding to insertion and removal of the input device  168  to the controller  110 . The insertion/removal sensing switch  169  may be configured so as to directly or indirectly contact the input device  168 , when the input device  168  is inserted. Therefore, the insertion/removal sensing switch  169  outputs, to the controller  110 , a signal corresponding to insertion or removal of the input device  168  depending on whether the insertion/removal sensing switch  169  contacts the input device  168  directly or indirectly. 
     The sensor module  170  includes at least one sensor for detecting a state of the portable device  100 . For example, the sensor module  170  may include a proximity sensor for detecting whether the user is close to the portable device  100 , an illumination sensor for detecting the amount of ambient light around the portable device  100 , a motion sensor for detecting a motion of the portable device  100  (for example, rotation, acceleration, vibration, etc. of the portable device  100 ), a geomagnetic sensor for detecting a point of the compass using the Earth&#39;s magnetic field, a gravity sensor for detecting the direction of gravity, an altimeter for detecting an altitude by measuring the air pressure, and the like. At least one sensor detects a state of the portable device  100 , generates a signal corresponding to the detected state, and transmits the generated signal to the controller  110 . A sensor may be added to or removed from the sensor module  170  according to the capabilities of the portable device  100 . 
     The memory  175  stores input/output signals or data in accordance with operations of the mobile communication module  120 , the sub-communication module  130 , the multimedia module  140 , the camera module  150 , the GPS module  155 , the I/O module  160 , the sensor module  170 , and the touch screen  190  under the control of the controller  110 . The memory  175  stores a control program for controlling the portable device  100  or the controller  110 , and applications. 
     The term “memory” may include the memory  175 , the ROM  112  and the RAM  113  within the controller  110 , or a memory card (for example, a Secure Digital (SD) card, a memory stick, etc.) mounted to the portable device  100 . The memory may also include a non-volatile memory, a volatile memory, a Hard Disk Drive (HDD), a Solid State Drive (SSD), and the like. 
     The memory  175  stores applications having various functions such as navigation, video call, game, and time-based alarm applications, images used to provide Graphical User Interfaces (GUIs) related to the applications, user information, text, databases or data related to a method of processing a touch input, background images (for example, a menu screen, a waiting screen, and the like) or operation programs required to operate the portable device  100 , and images captured by the camera module  150 . 
     For each application, the memory  175  stores information related to vibration to be generated from the portable device  100  or the input device  168  according to the progress state of the application, a user input, or a command corresponding to the user input. 
     The memory  175  may be a machine-readable medium (for example, a computer-readable medium). The machine-readable medium may be defined as a medium that provides data to a machine so that the machine may perform a specific function. For example, the machine-readable medium may be a storage medium. The memory  175  may include a non-volatile medium and a volatile medium. All these media should be of a type providing commands detectable by a physical device that reads commands to a machine. 
     The machine-readable medium includes, but not limited to, at least one of a floppy disk, a flexible disk, a hard disk, a magnetic tape, a Compact Disk Read Only Memory (CD-ROM), an optical disk, a punch card, a paper tape, a RAM, a Programmable ROM (PROM), an Erasable PROM (EPROM), and a Flash-EPROM. 
     The power supply  180  supplies power to one or more batteries mounted in the housing of the portable device  100  under the control of the controller  110 . The one or more batteries supply power to the portable device  100 . Further, the power supply  180  supplies power received from an external power source via the cable connected to the connector  165  to the portable device  100 . The power supply  180  may also supply power received wirelessly from an external power source to the portable device  100  by a wireless charging technology. 
     The portable device  100  includes at least one touch screen  190  for providing User Interfaces (UIs) corresponding to various services (for example, call, data transmission, broadcasting, photography, etc.) to the user. Each touch screen  190  transmits an analog signal corresponding to at least one touch on a UI to a touch screen controller  195  corresponding to the touch screen  190 . The portable device  100  may be provided with a plurality of touch screens  190  and touch screen controllers  195  which receive an analog signal corresponding to a touch from the respective touch screens  190 . The touch screens  190  may be connected respectively to a plurality of housings by hinges or to one housing without a hinge connection. For the convenience of description, the following description is given in the context of a single touch screen. 
     The touch screen  190  may receive at least one touch input through a user&#39;s body part (for example, a finger) or a touch input tool (for example, a stylus pen or an electronic pen). The touch screen  190  may include a pen recognition panel  191  that recognizes an input of a pen such as a stylus pen or an electronic pen. The pen recognition panel  191  may determine the distance between the pen and the touch screen  190  by a magnetic field. The touch screen  190  may receive a continuous movement of a single touch, among one or more touches. The touch screen  190  may transmit an analog signal corresponding to a continuous movement of a touch to the touch screen controller  195 . 
     In the present invention, the touch may include a non-contact touch (for example, where a detectable gap between the touch screen  190  and the user&#39;s body part or the input device  168  is about 5 mm), and is not limited to contacts between the touch screen  190  and the user&#39;s body part or the input device  168 . The detectable gap to the touch screen  190  may vary according to the capabilities or configuration of the portable device  100 . Particularly, to distinguish a touch event generated by contact between the touch screen  190  and a user&#39;s body or the input device  168  from a non-contact input event (for example, a hovering event), the touch screen  190  may output different detection values (for example, different analog voltage or current values) for the touch event and the hovering event. Further, the touch screen  190  may output a different detection value (for example, a different current value) according to the distance between an area of a hovering event and the touch screen  190 . 
     The touch screen  190  may be implemented as, for example, a resistive type, a capacitive type, an infrared type, or an acoustic wave type. 
     To receive an input of the user&#39;s body and an input of the input device  168  simultaneously or sequentially, the touch screen  190  may include at least two touch screen panels that sense touches or proximity of the user&#39;s body and the input device  168 , respectively. The at least two touch screen panels provide different output values to the touch screen controller  195  and the touch screen controller  195  determines whether an input from the touch screen  190  is an input of the user&#39;s body or an input of the input device  168  by distinguishing values received from the at least two touch screen panels. 
     More specifically, the touch screen  190  may be configured by stacking a panel to sense an input of a finger or the input device  168  by a change in inducted power and a panel to sense contact of a finger or the input device  168  on the touch screen  190 , in close contact with each other or partially apart from each other. This touch screen  190  includes a large number of pixels to display an image. The touch screen  190  may include at least one of a Liquid Crystal Display (LCD) panel, an Organic Light Emitting Diode (OLED) display, or an LED display. 
     The touch screen  190  includes a plurality of sensors to sense the position of a finger or the input device  168  that touches the touch screen  190  or is spaced from the touch screen  190  by a predetermined distance. Each of the sensors may have a coil structure. In a sensor layer formed by the plurality of sensors, each sensor has a predetermined pattern and a plurality of electrode lines are formed. Thus, when a finger or the input device  168  touches or hovers above the touch screen  190 , a sensing signal having a changed waveform is generated due to the capacitance between the sensor layer and the input means. The touch screen  190  transmits the sensing signal to the controller  110 . The distance between the input device  168  and the touch screen  190  may be determined based on the strength of a magnetic field formed by a coil, such as coil  510  of  FIG. 5 , of the input device  168 . 
     The touch screen controller  195  converts an analog signal received from the touch screen  190  to a digital signal (X and Y coordinates) and transmits the digital signal to the controller  110 . The controller  110  controls the touch screen  190  using the received digital signal. For example, the controller  110  may select or execute a shortcut icon or an object displayed on the touch screen  190  in response to a touch event or a hovering event. The touch screen controller  195  may be incorporated into the controller  110 . 
     Further, the touch screen controller  195  determines the distance between a hovering input area and the touch screen  190  by detecting a value (for example, a current value) output from the touch screen  190 , converts the distance to a digital signal (for example, a Z coordinate), and provides the digital signal to the controller  110 . 
       FIGS. 2 and 3  are front and rear perspective views of a portable device respectively according to an embodiment of the present invention. 
     Referring to  FIGS. 2 and 3 , the touch screen  190  is disposed at the center of the front surface  100   a  of the portable device  100 , occupying almost the entirety of the front surface  100   a . In  FIG. 2 , a main home screen is displayed on the touch screen  190 , by way of example. The main home screen is the first screen to be displayed on the touch screen  190 , when the portable device  100  is powered on. In the case where the portable device  100  has different home screens of a plurality of pages, the main home screen may be the first of the home screens of the plurality of pages. Shortcut icons  191 - 1 ,  191 - 2  and  191 - 3  for executing frequently used applications, a main menu switch key  191 - 4 , the time, the weather, and the like may be displayed on the home screen. A status bar  192  may be displayed at the top of the touch screen  190  in order to indicate states of the portable device  100  such as a battery charged state, a received signal strength, and a current time. 
     A home button  161   a , a menu button  161   b , and a back button  161   c  may be formed at the bottom of the touch screen  190 . 
     The home button  161   a  is used to display the main home screen on the touch screen  190 . For example, upon touching of the home button  161   a  while any home screen other than the main home screen or a menu screen is displayed on the touch screen  190 , the main home screen may be displayed on the touch screen  190 . Upon touching of the home button  161   a  during execution of applications on the home screen  190 , the main home screen illustrated in  FIG. 2  may be displayed on the touch screen  190 . The home button  161   a  may also be used to display recently used applications or a task manager on the touch screen  190 . 
     The menu button  161   b  provides link menus available on the touch screen  190 . The link menus may include a widget adding menu, a background changing menu, a search menu, an edit menu, an environment setting menu, and the like. 
     The back button  161   c  is used to display a screen previous to a current screen or end the latest used application. 
     The first camera  151 , an illumination sensor  170   a , and a proximity sensor  170   b  may be arranged at a corner of the front surface  100   a  of the portable device  100 , whereas the second camera  152 , the flash  153 , and the speaker  163  may be arranged on the rear surface  100   c  of the portable device  100 . 
     A power/reset button  161   d , a volume button  161   e , including a volume up button  161   f  and a volume down button  161   g , a terrestrial DMB antenna  141   a  for receiving a broadcast signal, and one or more microphones  162  may be disposed on side surfaces  100   b  of the portable device  100 . The DMB antenna  141   a  may be mounted to the portable device  100  fixedly or detachably. 
     The connector  165  is formed on the bottom side surface of the portable device  100 . The connector  165  includes a plurality of electrodes and may be connected to an external device by wire. The earphone connector jack  167  may be formed on the top side surface of the portable device  100 , for allowing an earphone to be inserted. The earphone connector jack  167  may be formed on the top side surface of the portable device  100 , for allowing an earphone to be inserted. 
     The input device  168  may be provided into the bottom side surface of the portable device  100 . The input device  168  may be inserted and kept inside the portable device  100 . When the input device  168  is used, the input device  168  is extended and detached from the portable device  100 . 
       FIG. 4  illustrates an input device for providing a vibration effect and an interior sectional view of a touch screen according to an embodiment of the present invention. 
     Referring to  FIG. 4 , the touch screen  190  includes a display panel  440 , a first touch panel  450 , and a second touch panel  460 . The display panel  440  may be an LCD panel or an Active Matrix Organic Light Emitting Diode (AMOLED) panel, which displays various images according to the operation states of the portable device  100 , application execution, services, and the like. 
     The first touch panel  450  is a capacitive touch panel formed by coating a thin metal material (for example, Indium Tin Oxide (ITO)) as a dielectric material on both surfaces of glass so that current may flow on the glass surfaces. When an input device (for example, a user&#39;s finger or a pen) touches a surface of the first touch panel  450 , a certain amount of charge migrates to the touched position due to static electricity and the first touch panel  450  detects the touched position by sensing a variation in current caused by the charge migration. The first touch panel  450  is capable of sensing all touches that may generate static electricity and sensing all touches made by the input device, that is, a finger or pen. 
     The second touch panel  460  is an ElectroMagnetic Resonance (EMR) touch panel including an electromagnetic induction coil sensor (not shown) having a grid structure in which a plurality of loop coils are arranged in predetermined first and second directions which are perpendicular to each other, and an electromagnetic signal processor (not shown) for providing an alternating signal having a predetermined frequency sequentially to the loop coils of the electromagnetic induction coil sensor. When the input device  168  having a built-in resonant circuit is positioned in the vicinity of a loop coil of the second touch panel  460 , a magnetic field output from the loop coil generates current based on mutual electromagnetic induction in the resonant circuit of the input device  168 . Then, an induction field is generated from a coil  510  (see  FIG. 5 ) of the resonant circuit in the input device  168  and the second touch panel  460  detects the induction field in loop coils placed in a reception state. Therefore, the second touch panel  460  senses either the hovering position or touched position of the input device  168  and the height h of a pen tip  430  of the input device  168  above the portable device  100 . The height h may vary according to the capabilities or configuration of the portable device  100 . The second touch panel  460  may sense the hovering and touch of any input means that can generate current based on electromagnetic induction. 
     In accordance with an embodiment of the present invention, it is assumed that the second touch panel  460  is dedicated to sensing the hovering or touch of the input device  168 . The input device  168  may be referred to as an electromagnetic pen or an EMR pen. The input device  168  may have a different configuration from a general pen that does not include a resonant circuit, sensed by the first touch panel  450 . The input device  168  may include a button  420  for changing an electromagnetic induction value generated by the coil inside the pen body in the vicinity of the pen tip  430 . The input device  168  will be described later in detail with reference to  FIG. 5 . 
     The touch screen controller  195  may include a first touch panel controller and a second touch panel controller. The first touch panel controller converts an analog signal corresponding to a sensed finger touch or pen touch, received from the first touch panel  450  to a digital signal (for example, X, Y and Z coordinates) and provides the digital signal to the controller  110 . The second touch panel controller converts an analog signal corresponding to the sensed hovering or touch of the input device  168  from the second touch panel  460  to a digital signal and provides the digital signal to the controller  110 . The controller  110  controls the display panel  440 , the first touch panel  450 , and the second touch panel  460  using the digital signals received from the first and second touch panel controllers. For example, the controller  110  may display a predetermined screen on the display panel  440  in response to the finger touch or pen touch or in response to the hovering or touch of the input device  168 . 
     In accordance with an embodiment of the present invention, therefore, the first touch panel  450  senses a user&#39;s finger touch or pen touch and the second touch panel  460  senses the hovering or touch of the input device  168  in the portable device  100 . The controller  110  may distinguish the finger touch or pen touch from the hovering or touch of the input device  168 . While only one touch screen is shown in  FIG. 4 , the present invention is not limited to a single touch screen and may have a plurality of touch screens. Each touch screen may be engaged with one housing by a hinge or a plurality of touch screens may be mounted in a single housing in the portable device  100 . As illustrated in  FIG. 4 , each touch screen may include a display panel and at least one touch panel. 
       FIG. 5  is a block diagram of an input device according to an embodiment of the present invention. Referring to  FIG. 5 , the input device  168  may be connected to the portable device  100 , another portable device, a portable phone, a smartphone, a tablet PC, and an external server through a short-range communication unit  540 . The input device  168  may include a pen controller  530 , the short-range communication unit  540 , the coil  510 , the pen tip  430 , the pen button  420 , a speaker  560 , the vibration device  520 , a pen memory  570 , and a battery  550 . 
     The pen controller  530  controls the short-range communication unit  540 , the coil  510 , the pen tip  430 , the pen button  420 , the speaker  560 , the vibration device  520 , the pen memory  570 , and the battery  550 . The pen controller  530  provides overall control to the input device  168 , controls the components  520  to  560  of the input device  168 , and performs a data processing function. If the pen tip  430  is located at a position (e.g. 20 mm or lower) where a touch on the touch screen or a hovering above the touch screen  190  may be detected, the pen controller  530  analyzes a control signal received from the portable device  100  through the short-range communication unit  540  and controls a vibration period and a vibration strength of the vibration device  520  of the input device  168  by a control signal. The pen controller  530  controls the battery  550  to supply power to the components. 
     In an embodiment of the present invention, if an object displayed on the portable device  100  is selected by touching the object or hovering above the object with the input device  168  and then the button  420  is pressed by the user, the pen controller  530  may control transmission of a copy command requesting copy of the object to a copy target through the short-range communication unit  540 . The pen controller  530  controls reception of a part of copy information corresponding to the copy command from the portable device  100  through the short-range communication unit  540 . The copy information may include object data corresponding to the copy target object, a file name, a file size, a file type, a file storing position, and a copy time. Further, the pen controller  530  may control reception of a part of copy information corresponding to the copy command from an external server through the short-range communication unit  540 . One or more speakers  560  may be disposed in a housing of the input device  168 . 
     The short-range communication unit  540  may include one of a WLAN module and a short-range communication module using a 2.4 GHz band. The short-range communication unit  540  may also include both the WLAN module and the short-range communication module. The short-range communication unit  540  may be connected to the portable device  100  and the external server under the control of the pen controller  530 . 
     In an embodiment of the present invention, the short-range communication unit  540  may be paired with the portable device  100  having the short-range communication module  132  and thus transmits and receives control signals and data to and from the portable device  100 . The short-range communication unit  540  receives a control signal from the portable device  100  and transmits the control signal to the pen controller  530 . The short-range communication unit  540  analyzes a control signal received from the portable device  100 . While the short-range communication unit  540  uses Bluetooth in the embodiment of the present invention, the short-range communication unit  540  may be replaced with or used together with a short-range communication unit that can establish a communication channel within a short range and transmit and receive a signal through the communication link by ZigBee, Ultra Wide Band (UWB), or Radio Frequency Identifier (RFID). 
     The coil  510  creates an induced magnetic field by interacting with a loop coil of the second touch panel  460  of the portable device  100 . The portable device  100  receives the induced magnetic field generated from the coil  510  and detects a hovering position or touch position of the input device  168  and the height of the pen tip  430  of the input device  168  above the touch screen  190  based on the induced magnetic field. 
     When the user presses the pen button  420 , the pen button  420  may change an electromagnetic induction value generated from the coil  510 . The pen button  420  may include a physical button or a touch button. 
     The speaker  560  may output various sound sources stored in the pen memory  570  under the control of the pen controller  530 . In an embodiment of the present invention, the speaker  560  outputs an auditory feedback corresponding to a control command received from the portable device  100  in response to a copy command generated from the button  420 . The speaker  560  may output an auditory feedback corresponding to a control command received from the portable device  100  in response to a paste command generated from the button  420 . In addition, the speaker  560  may output a sound corresponding to a vibration period and/or a vibration strength of the pen vibration device  520 . The speaker  560  may output a sound corresponding a first control signal and/or a second control signal output from the input device  168 , substantially simultaneously with sound output of the speaker  163  of the portable device  100  (for example, the time interval between sound outputs of the speakers  163  and  560  is 5 ms or shorter) or within a predetermined time (for example, 20 ms) after sound output of the speaker  163 . 
     The vibration motor  520  converts an electrical signal to a mechanical vibration under the control of the pen controller  530 . 
     In an embodiment of the present invention, the vibration device  520  may be activated in response to a control signal received from the portable device  100  and provide a tactile feedback to the user. The vibration device  520  may vibrate the whole or part of the input device  168 . 
     The pen memory  570  stores input/output signals or data in correspondence with operations of the short-range communication unit  540 , the coil  510 , the pen button  420 , the speaker  560 , the vibration device  520 , and the battery  550  under the control of the controller  530 . 
     In an embodiment of the present invention, the pen memory  570  stores device information about the input device  168 . For example, the device information may include a model name, a unique device ID, a remaining memory capacity, information about the presence or absence of object data, a Bluetooth version, or a Bluetooth profile. In addition, the pen memory  570  may store one or more vibration waveforms that vibrate the vibration device  520  based on a control signal received from the portable device  100 . 
     The battery  550  supplies power to the components of the input device  168  under the control of the pen controller  530 . If the remaining amount of the battery  550  is not sufficient, the battery  550  may be charged by a cable or wirelessly. 
     In an embodiment of the present invention, a control signal is received through the short-range communication unit  540  of the input device  168  under the control of the pen controller  530 . The control signal is received from the portable device  100 . The input device  168  may receive the control signal periodically for a predetermined time period or until hovering is terminated. The control signal may include, for example, at least one of information for activating vibration mode, information indicating a vibration strength of the input device  168 , information for deactivating the vibration mode, and information indicating a total vibration time of the vibration device  520 . 
     At least one component may be added to or removed from the components of the input device  168  illustrated in  FIG. 5  according to the capabilities of the input device  168 . It will be readily understood by those skilled in the art that the positions of the components may be changed according to the capabilities or configuration of the portable device  100 . 
     An overall operation for generating vibration in the above-described portable device  100  and input device  168  according to the present invention will be described below with reference to  FIG. 6 .  FIG. 6  is a flowchart illustrating an operation for generating vibration in the portable device  100  according to an embodiment of the present invention. 
     Referring to  FIG. 6 , the controller  110  of the portable device  100  detects a user input corresponding to a gesture made by the input device  168  in step  601 . The user input corresponding to the gesture of the input device  168  may be a touch input or a hovering input. 
     In step  603 , the controller  110  detects an action attribute of the portable device  100  corresponding to the user input. The action attribute may include information about an operation state of the portable device  100  at the moment the user input is generated. The action attribute may include information related to an application that is being executed in the portable device  100  at the moment the user input is generated. The action attribute may also include a command corresponding to the user input. The application information may include at least one of identification information about the ongoing application, information about a progress state of the application, and information about an object selected by the user input from among at least one object displayed on the touch screen  190  along with the progress of the application. The command corresponding to the user input may be determined according to the operation state of the portable device  100  or the ongoing application at the moment the user input is generated. 
     The controller  110  determines a first vibration to be output from the input device  168  and a second vibration to be output from the portable device  100  according to the action attribute in step  605 . In addition, the controller  110  determines generation times of the first and second vibrations according to the action attribute. 
     In step  607 , the controller  110  transmits a control signal corresponding to the first vibration to the input device  168  and controls output of the second vibration from the portable device  100  by controlling the vibration motor  164 . 
     For example, the controller  110  controls generation of the first vibration from the input device  168  while the command corresponding to the user input is being executed, discontinues generation of the first vibration from the input device  168  upon completion of the command execution, and then controls generation of the second vibration from the portable device  100 . The controller  110  may also control generation of the second vibration from the portable device  100  while the command corresponding to the user input is being executed, discontinue generation of the second vibration from the portable device  100  upon completion of the command execution, and then control generation of the first vibration from the input device  168 . The controller  110  may further control simultaneous generation of the first vibration from the input device  168  and the second vibration from the portable device  100 . 
     In another example, the controller  110  controls generation of the first vibration from the input device  168  as a feedback for the sensed user input and, upon completion of execution of the command corresponding to the user input, controls generation of the second vibration from the portable device  100  as a feedback for the completion of the command execution. The controller  110  may also control generation of the second vibration from the portable device  100  as a feedback for the sensed user input and, upon completion of execution of the command corresponding to the user input, may control generation of the first vibration from the input device  168  as a feedback for the completion of the command execution. 
       FIG. 7  is a flowchart illustrating an operation of the controller  110  during execution of an application according to another embodiment of the present invention. 
     Referring to  FIG. 7 , the controller  110  detects a user input corresponding to a gesture made by the input device  168  in step  701 . In step  703 , the controller  110  detects an application attribute including application information and a command that correspond to the user input. The controller  110  determines a first vibration to be output from the input device  168  and a second vibration to be output from the portable device  100  according to a combination of the application information and the command in step  705 . Further, the controller  110  determines generation times of the first and second vibrations according to the combination of the application information and the command. Subsequently, the controller  110  transmits a control signal corresponding to the first vibration to the input device  168  and outputs the second vibration from the portable device  100  based on the application information along with execution of the command in step  707 . 
     Now, examples of vibration control during execution of an application will be described below with reference to  FIGS. 8 to 22B . 
     First, operations for controlling vibration during execution of a game application will be described with reference to  FIGS. 8 to 12 .  FIG. 8  is a flowchart illustrating an operation for controlling vibration during execution of a game application in the portable device  100  according to an embodiment of the present invention. In the illustrated case of  FIG. 8 , it is assumed that a command to move a target object provided by the game application is detected.  FIGS. 9A and 9B  illustrate vibration generation during execution of a baseball game application,  FIGS. 10A and 10B  illustrate vibration generation during execution of a slingshot game application,  FIGS. 11A and 11B  illustrate vibration generation during execution of a billiards game application, and  FIG. 12  illustrates vibration generation during execution of a fishing game application. 
     Upon execution of a game application, an image is displayed in real time along with the progress of the game application on the touch screen  190  of the portable device  100 . The image may be selected by the input device  168  and may include at least one visual target object that can be manipulated. As the user selects and manipulates a target object using the input device  168 , the game application may proceed. 
     For example, upon execution of the baseball game application, the portable device  100  displays a baseball game image as illustrated in  FIG. 9A . The baseball game image may include a baseball  751  corresponding to a visual target object. The user may throw the baseball  751  as a pitcher or hit the baseball  751  as a hitter according to a game rule in the baseball game by manipulating the input device  168 . In  FIG. 9A , the user selects and manipulates the baseball  751  by playing the role of a hitter, by way of example. 
     Referring to  FIG. 8 , the controller  110  determines whether a user input corresponding to a gesture made by the input device  168  has been detected during execution of the game application in step  801 . Upon detection of the user input, the controller  110  determines whether the user input is for selecting a target object at a first position in step  803 . If the user input is for selecting the target object at the first position, the procedure goes to step  807  and otherwise, the procedure goes to step  805  to perform a normal operation of the portable device  100 . 
     In step  807 , the controller  110  detects application information, target object information, and a command to move the target object, in relation to execution of the game application at the moment the user input is generated. 
     For example, in  FIG. 9A , the user, as a hitter, touches the baseball  751  using the input device  168  at an appropriate timing when the baseball  751  approaches home plate, to hit the baseball  751 . Accordingly, the controller  110  senses that an input to select the baseball  751  has been generated at a position of the touch input. Then the controller  110  detects application information related to the progress state of the baseball game application at the moment the touch input is generated through the input device  168 . Further, the controller  110  may determine a speed and direction of the baseball  751  according to the position and time of the touch input and detect object information including the determined speed and direction of the baseball  751 . The controller  110  detects a move command corresponding to the touch input. 
     Referring to  FIG. 8  again, the controller  110  determines a first vibration to be output from the input device  168  and a second vibration to be output from the portable device  100  according to a combination of the application information, the target object information, and the move command in step  809 . The controller  110  transmits a control signal corresponding to the first vibration to the input device  168  in step  811  and outputs the second vibration through the portable device  100  when the target object is moved to a second position according to the move command in step  813 . 
     In the example of  FIG. 9A , the controller  110  determines the first vibration to be generated from the input device  168  to indicate that the user has selected the target object, according to the combination of the application information, the object information, and the move command that have been detected along with user selection of the baseball  751  at the first position corresponding to the target object by the input device  168 . The controller  110  moves the baseball  751  according to the move command. The controller  110  determines the second vibration that is to be generated from the portable device when the baseball  751  is hit by the bat, such as when the baseball is put into play and bumps against a fence, flies over the fence, falls to the ground, or is caught by a defensive player as the result of the movement, that is, when the baseball  751  reaches the second position as the result of the movement. Subsequently, to provide a feedback for the selection of the baseball  751  to the user, the controller  110  transmits a control signal corresponding to the first vibration to the input device  168 . Therefore, in  FIG. 9A , the input device  168  receives the control signal and accordingly generates the first vibration. Next,referring to  FIG. 9B , the controller  110  provides an image of a flying ball hit by the bat according to the move command and controls generation of the second vibration from the portable device  100  at the moment when the flying ball  751  bumps against an opposite score board (at the second position  752 ), as illustrated in  FIG. 9B . 
     In the slingshot game application of  FIGS. 10A and 10B , for example, upon generation of an input to select a stone  761  at a first position as a target object by the input device  168 , the controller  110  controls generation of a first vibration from the input device  168  by transmitting a control signal corresponding to the first vibration to the input device  168 , as illustrated in  FIG. 10A . As illustrated in  FIG. 10B , the controller  110  controls generation of a second vibration from the portable device  100  at the moment when the stone  762  launched from the sling-shot hits a target (at a second position). 
     In the billiards game application of  FIGS. 11A and 11B , for example, upon generation of an input to select a ball  771  at a first position as a target object by the input device  168 , the controller  110  controls generation of a first vibration from the input device  168  by transmitting a control signal corresponding to the first vibration to the input device  168 , as illustrated in  FIG. 11A . As illustrated in  FIG. 11B , the controller  110  controls generation of a second vibration from the portable device  100  at the moment when the ball  772  rolls to a second position. 
     In another example, upon generation of a user input to select a first target object at a first position, the controller  110  transmits a control signal corresponding to a first vibration to the input device  168  and controls generation of a second vibration from the portable device  100 , when a second target object is displayed at a second position. 
     Referring to  FIG. 12 , for example, upon execution of the fishing game application, an image of a fishing spot is displayed on the touch screen  190 . When the user selects a fishing rod  781  at a first position by means of the input device  168 , the controller  110  detects application information, object information such as a selection time, and selection strength of the fishing rod  781 , and a catch command in relation to the progress of the fishing game application. The controller  110  determines a first vibration to be output from the input device and a second vibration to be output from the portable device  100  according to a combination of the detected information and command. To provide feedback for the selection of the fishing rod  781 , the controller  110  transmits a control signal corresponding to the first vibration to the input device  168 . Then the controller  110  provides an image of a fish being caught and controls generation of the second vibration from the portable device  100  at the moment when the caught fish corresponding to a second target object shows up above a water surface (a second position)  782 . 
     With reference to  FIGS. 13 to 17 , a description will be given of an operation for controlling vibration in the process of copying an image object displayed on the touch screen  190  and pasting the copied image object during execution of an image application that allows image editing.  FIG. 13  is a flowchart illustrating an operation of a portable device upon execution of an image application according to an embodiment of the present invention, and  FIGS. 14A and 14B  illustrate execution screens of an image application according to an embodiment of the present invention.  FIG. 15  is a flowchart illustrating an operation of a portable device upon execution of an image application according to an embodiment of the present invention, and  FIGS. 16A and 16B  illustrate execution screens of an image application according to an embodiment of the present invention.  FIG. 17  illustrates an exemplary method for providing a feedback in a portable device according to an embodiment of the present invention. 
     Referring to  FIG. 13 , upon execution of an image application, the controller  110  displays an object on the touch screen  190  in step  901 . For example, an image object  841  is displayed as illustrated in  FIG. 14A . The user may select the displayed image object  841  by touching the image object  841  using the input device  168 . Accordingly, the controller  110  detects a user input corresponding to a gesture made by the input device  168  in step  903  and selects the image object displayed at a position of the user input in step  905 . The user may enter a copy command to the portable device  100  by pressing the pen button  420  of the input device  168 . The user also may touch the image object  841 , while pressing the pen button, to thereby enter the copy command at the moment of touching the image object  841 . 
     Therefore, the controller  110  detects whether the copy command is entered in step  907  and determines a first vibration to be output from the input device  168  and a second vibration to be output from the portable device  100  in response to the copy command in step  911 . If the copy command is not entered in step  907 , the controller performs a normal operation in step  909 . 
     The controller  110  may map pre-stored device information about the input device  168 , object information (for example, a file name, a file size, a file type, a file extension, a file stored position, or the like) about the selected object, and the copy command and may store the mapped information as copy information in a temporary storage area or clip board of the image application. The controller  110  may provide a visual feedback (for example, flash, a video, or the like) on the touch screen  190  or an auditory feedback (for example, a sound) through the speaker  163 , in response to the object selection. 
     In step  913 , the controller  110  controls generation of the second vibration from the portable device  100  while the selected object is being copied. To provide a visual feedback for the progress of copying the selected object, the controller  110  may display a visual effect of the image object being contracted gradually or a visual effect of the image object being sucked into a pipette. 
     Upon completion of copying of the selected object in step  915 , the controller  110  transmits a control signal corresponding to the first vibration to the input device  168  so as to generate the first vibration from the input device  168  in step  917 . Upon completion of copying of the selected object  841 , the copied image object  841  may no longer be displayed in the portable device  100  as illustrated in  FIG. 14B . In another embodiment of the present invention, the copied image object  841  may still be displayed. 
     In step  919 , the controller  110  determines whether the remaining capacity of the pen memory  570  of the input device  168  is sufficient. The controller  110  may compare the remaining capacity of the pen memory  570  of the input device  168  with a file size included in the object information about the copied object using the pre-stored device information about the input device  168 . The controller  110  may transmit one of the copy information including the image object and copy information except for object data of the object to the input device  168  according to the comparison result. 
     If the remaining capacity of the pen memory  570  is larger than the file size of the image object, the controller  110  controls transmission of the copy information including the image object to the input device  168  in step  921 . The copy information may include the object data, the file name, the file size, the file type, the file stored position, a copy time, and the like. 
     On the other hand, if the remaining capacity of the pen memory  570  is smaller than the file size of the image object in step  919 , the controller  110  may not transmit the copy information including the image object to the input device  168 . Therefore, in step  923  the controller  110  controls transmission of the object data to an external server using a Universal Resource Locator (URL) of the external server of a manufacturer stored in the memory  175  through the mobile communication module  120  or the sub-communication module  130 . The controller  110  may map the URL of the external server to the copy information and store the mapped information in the memory  175 . In other words, the controller  110  transmits the copy information including the object data to the external server and transmits copy information that includes the URL of the external server, without the object data to the input device  168 . 
       FIG. 15  illustrates an operation for pasting the copied object. During the application in progress, the controller  110  detects a user input corresponding to a gesture made by the input device  168  in step  1001  and determines whether a paste command has been detected in step  1003 . If the paste command is not detected in step  1003 , the controller  110  performs a normal operation in step  1005 . 
     Referring to  FIG. 16A , the user may select a paste position by touching an area other than the image object  841  on a screen provided by the image application using the input device  168 . Thereafter, the controller  110  detects the user input corresponding to the gesture of the input device  168  in step  1001 . Then the user may enter the paste command to the portable device  100  by pressing the pen button  420  of the input device  168 . Otherwise, to enter the paste command at the moment of touching an area other than the image object, the user may touch the area other than the image object, while pressing the pen button  420 . 
     Upon detection of the paste command, the controller  110  acquires the copy information in step  1007 . The copy information may be acquired from the input device  168  or the external server. That is, the controller  110  may receive the copy information stored in the procedure of  FIG. 13  from the input device  168  by short-range communication. If the copy information stored in the pen memory  570  of the input device  168  includes the object data of the image object, the controller  110  displays the received object data in step  1011  as described below. On the other hand, if the copy information acquired from the pen memory  570  of the input device  168  includes the URL of the external server at which the object data is stored, the controller  110  may acquire the object data of the image object from the external server. 
     In step  1009 , the controller  110  determines a first vibration to be output from the input device  168  and a second vibration to be output from the portable device  100  according to the paste command. 
     While the image object is being displayed at the position of the user input, the controller  110  transmits a control signal corresponding to the first vibration to the input device  168  in step  1011 . To provide a visual feedback for the pasting of the image object, the controller  110  may display the image object gradually increasing in size. The controller  110  also may display the image object in the form of liquid dropping from a pipette. 
     The controller  110  then determines if the display of the image object is complete in step  1013 . Upon completion of displaying of the image object in step  1013 , the controller  110  controls generation of the second vibration from the portable device  100  in step  1015 , as illustrated in  FIG. 16B . 
     In an embodiment of the present invention, the copy and paste functions may be executed between a plurality of portable devices, as illustrated in  FIG. 17 . Referring to  FIG. 17 , a plurality of portable devices  100  and  100   a  may provide feedback for copy and paste using the input device  168 . If the remaining memory capacity of the input device  168  is sufficient, the controller  110  of the first portable device  100  transmits control information for the object  841  selected by the input unit  168  and copy information including the object data of the object  841  to the input device  168  by short-range communication, for example, Bluetooth Serial Port Profile (SPP). A controller of the second portable device  100   a  may be aware that the input device  168  has the copy information by discovery and pairing with the input device  168 . The controller of the second portable device  100   a  receives the control information and the copy information according to a paste command from the input device  168  by Bluetooth SPP. 
     If the remaining memory capacity of the input device  168  is not sufficient, the controller of the first portable device  100  transmits the control information for the object  841  selected by the input unit  168  and copy information except for the object data to the input device  168  by Bluetooth SPP. The controller  110  of the first portable device  100  may transmit the object data to an external server through the mobile communication module  120  or sub-communication module  130 . In addition, the controller of the first portable device  100  may transmit the object data to the second portable device  100   a  through the mobile communication module  120  or sub-communication module  130 . 
     The controller of the second portable device  100   a  may be aware that the input device  168  has the control information and the copy information by discovery and pairing with the input device  168 . The controller of the second portable device  100   a  receives the control information and the copy information according to a paste command from the input device  168  by Bluetooth SPP. The controller of the second portable device  100   a  receives the object data from the external server through a communication module. The controller of the second portable device  100   a  also may receive the object data from the first portable device  100  through the communication module. 
     Vibrations are generated in the same manner for one or more portable devices, and thus a vibration generation method for a plurality of portable devices will not be provided herein to avoid redundancy. 
     With reference to  FIGS. 18 to 20B , an example of generating vibrations during execution of a drawing application will be described. The drawing application refers to an application that enables a user to draw using the input device  168 .  FIGS. 18 and 19  are flowcharts illustrating operations of a portable device during execution of a drawing application according to embodiments of the present invention.  FIGS. 20A and 20B  illustrate screens displayed along with execution of a drawing application according to an embodiment of the present invention. 
     Upon execution of the drawing application, the portable device  100  provides a layer on which the user may draw using the input device  168 . Then the portable device  100  displays a drawing object in real time at a position of a user input by tracing the user input applied by the input device  168 . Thus, a trajectory drawn by the user input is displayed. 
     Referring to  FIG. 18 , during execution of a drawing application, the controller  110  determines whether a user input corresponding to a gesture made by the input device  168  has been detected in step  1101 . Upon generation of the user input, the controller  110  detects whether a draw command is input in step  1103 . If a draw command is input, the controller  110  determines a first vibration to be output from the input device  168  and a second vibration to be output from the portable device  100  in step  1107 . If a draw command is not input in step  1103 , the controller  110  performs a normal operation in step  1105 . In step  1109 , the controller  110  displays a drawing object at the position of a continuous user input by tracing the continuous user input and transmits a control signal corresponding to the first vibration to the input device  168 . 
     Referring to  FIG. 20A , if the user draws a heart shape using the input device  168 , the heart-shaped drawing object is displayed in real time on the touch screen  190 . While the drawing object is being displayed, the input device  168  generates the first vibration. 
     Referring to  FIG. 18  again, if the user input is discontinued in step  1111 , the controller  110  controls generation of the second vibration from the portable device  100  in step  1113 . If the user input continues in step  1111 , the controller  110  maintains step  1109 . 
     The drawing object created in the above operation may be stored as an animation object. An animation object is generated by storing the process of drawing and displaying an object in correspondence with a user input as a flash file or a video file. For example, as the user draws a heart using the input device  168 , the process of drawing and displaying the heart on the touch screen  190  may be stored as a flash file or a video file. This is called an animation object. 
     The animation object may be transmitted in a message to another portable device. Upon receipt of the animation object, the portable device plays back the animation object. That is, the animation object corresponding to the heart-shaped drawing object may be included in a message and transmitted to another portable device and the portable device plays back the animation object upon user selection. 
       FIG. 19  is a flowchart illustrating an operation for receiving a message including an animation object and playing back the animation object. Referring to  FIG. 19 , with a drawing application executed, upon receipt of an animation message, the controller  110  displays an animation object and a play icon in step  1201 . For example, a heart-shaped animation object  1051  and a play icon  1052  may be displayed as illustrated in  FIG. 20B . 
     Upon generation of an input to select the play icon by the user in step  1203 , the controller  110  displays the process of drawing the object by playing back the animation object in animation and outputs vibration in the portable device  100  during playback of the animation in step  1207 . If the play icon is not selected, the controller  110  performs a normal operation in step  1205 . 
     In  FIG. 20B , for example, if the heart-shaped animation object  1051  is displayed and then an input to select the play icon  1052  is generated by the user, a visual effect of drawing the heart-shaped object is displayed. The portable device  100  outputs vibration until the heart-shaped object is completely drawn. 
     With reference to  FIGS. 21, 22A, and 22B , vibration generation during execution of a map application will be described.  FIG. 21  is a flowchart illustrating an operation of a portable device upon execution of a map application according to an embodiment of the present invention, and  FIGS. 22A and 22B  illustrate execution screens of a map application according to an embodiment of the present invention. 
     Upon execution of the map application, the portable device  100  displays a map on the touch screen  190  in step  1301 . For example, a map may be displayed as illustrated in  FIG. 22A . The user may select a point on the map and scale up or down the map to enlarge a specific area around the selected point or view a larger area around the selected point. In an embodiment of the present invention, a zoom-in command to enlarge a partial area of a map or a zoom-out command to display a larger area on the map by contracting a displayed area of the map may be input through the input device  168 . For example, if the user selects an intended point for enlargement on a displayed map using the input device  168  and presses the button  420  of the input device  168  once, it may be determined that a zoom-in command has been generated. If the user selects an intended point on the displayed map using the input device  168  and presses the button  420  of the input device  168  twice, it may be determined that a zoom-out command has been generated.  FIG. 21  illustrates an operation of the portable device  100 , when a zoom-in command is input. 
     Referring to  FIG. 22A , the user may touch an intended position for enlargement on a displayed map with the input device  168  or may hover the input unit  168  above the intended position for enlargement. 
     Referring to  FIG. 21  again, the controller  110  detects a user input corresponding to a gesture made by the input device  168  in step  1303 . The user may provide a zoom-in command to the portable device  100  by pressing the pen button  420  of the input device  168 . To provide the zoom-in command at the moment of touching the map, the user also may touch the map, while pressing the pen button  420 . 
     Thus, upon detection of the zoom-in command in step  1305 , the controller  110  selects a specific area around the position of the user input on the map according to the zoom-in command in step  1309 . The size of the area may be predetermined. For example, an enlarged area  1121  may be displayed as illustrated in  FIG. 22A . If the zoom-in command is not detected in step  1305 , the controller  110  performs a normal operation in step  1307 . 
     In step  1311 , the controller  110  determines a first vibration to be output from the input device  168  and a second vibration to be output from the portable device  100  according to the zoom-in command. Further, the controller  110  may determine generation times of the first and second vibrations. 
     Subsequently, the controller  110  transmits a control signal corresponding to the first vibration to the input device  168 , while displaying the specific area scaled up at a predetermined scale in step  1313 . Upon completion of the enlarged display, the controller  110  controls generation of the second vibration from the portable device  100  in step  1315 . 
     That is, when the map is zoomed-in around the enlarged area  1121  selected in  FIG. 22A  as illustrated in  FIG. 22B , the portable device  100  generates vibration. 
     If the command detected in step  1305  is a zoom-out command, the controller  110  scales down the map at a predetermined scale and thus displays a larger area on the map. While displaying the larger area on the map, the controller  110  transmits a control signal corresponding to the first vibration to the input device  168  in step  1313 . Upon completion of displaying of the scaled-down map, the controller  110  may control generation of the second vibration from the portable device  100  in step  1315 . 
       FIGS. 23 and 24  illustrate vibration waveforms generated from the input device  168  and the portable device  100 , respectively. Specifically,  FIG. 23  illustrates the vibration waveform of a vibration to be generated from the input device  168  and  FIG. 24  illustrates the vibration waveform of a vibration to be generated from the portable device  100 . 
     Referring to  FIGS. 23 and 24 , the vibration waveform generated from the input device  168  has an input value of about 0.5V, whereas the vibration waveform generated from the portable device  100  has an input value of about 1V. The vibration of the input device  168  may be set to be weaker than the vibration of the portable device  100 . 
     As described above, since the input device  168  and the portable device  100  generate vibrations organically in response to one user input, a user can feel a realistic sense of manipulation. 
     The method and apparatus for controlling vibration according to the present invention may be implemented as computer-readable code in a computer-readable recording medium. The computer-readable recording medium may include any kind of recording device storing computer-readable data. Examples of the recording medium may include Read Only Memory (ROM), Random Access Memory (RAM), optical disk, magnetic tape, floppy disk, hard disk, non-volatile memory, and the like, and may also include the medium that is implemented in the form of carrier waves (for example, transmission over the Internet). In addition, the computer-readable recording medium may be distributed over the computer systems connected over the network, and computer-readable codes may be stored and executed in a distributed manner. 
     As is apparent from the foregoing description, when a UI is manipulated in a portable device equipped with at least one touch screen, vibration can be generated organically between an input device and the portable device. 
     While the invention has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.