Display device for executing plurality of applications and method of controlling the same

In one aspect, method is provided for controlling a display device, comprising: displaying, on a touchscreen display, a first window executing a first application and a second window executing a second application; receiving, at the touchscreen display, a first command input to the first window and a second command input to the second window; determining whether the first command and the second command are received simultaneously; dispatching, by a processor, the first command; and dispatching, by the processor, the second command.

BACKGROUND

1. Technical Field

The present disclosure relates generally to a display device for executing a plurality of applications and a method of controlling the same, and more particularly, to a display device for controlling a display of a window in which a plurality of applications is executed and a method of controlling the same.

2. Description of the Related Art

A desktop computer may have multiple display devices (e.g., multiple monitors, while a mobile device may have only one display device (e.g., a touch screen). A user of a desktop computer may divide a screen of the desktop computer's display device according to a working environment (for example, horizontally or vertically divide the screen while displaying a plurality of windows) and use the divided screens. When a web browser is executed, the user can move a web page displayed by the web browser in an up or down direction by using a page up button or a page down button arranged in a keyboard. When the user uses a mouse instead of the keyboard, the user can move the web page in the up or down direction by selecting a scroll bar located in a side part of the web page by using a cursor or by selecting a top button displayed as a text or an icon located in a bottom part of the web page.

In contrast to desktop computers, mobile devices tend to have smaller screen sizes. The smaller screen sizes make it more difficult to divide portable device screens among multiple applications. Although various applications which simulate consumers' curiosity and satisfy consumers' demands may be provided on a given mobile device, the limited screen size and a User Interface (UI) and User Interface (UI) of that device may make it inconvenient to execute a plurality of applications in the mobile device at the same time. For example, when one application is executed in a given mobile device, the application may be displayed in an entire display area. When the user desires to execute another application, the user should first end the currently executed application and then select an execution key for executing the desired application. That is, in order to execute several applications in the mobile device, processes of executing and ending the respective applications may need to be repeated, which in turn could make the user feel inconvenienced.

Furthermore, mobile devices have more limited User Interface (UI) facilities than desktop computers. For example, when a plurality of applications are displayed in device desktop computer, commands may be simultaneously input into different applications from the plurality. By contrast, display controls of mobile devices may be configured to route all commands input into the mobile devices' touchscreen to only one application—namely, the application whose window has the highest activity order. Accordingly, the user of a given mobile device cannot simultaneously use all windows that are displayed on the device's screen at the same time.

The above limitation may become more noticeable when a plurality of users need to control different windows on the same display device (e.g., touch screen), as it could prevent each of the users from interacting with his or her respective application(s) freely. When the plurality of users input commands into windows, respectively, the window having the highest activity order receives all the commands, so that only one of the applications can be controlled to the exclusion of all others.

SUMMARY

The present invention has been made to solve the above mentioned problems and provides additional advantages, by providing a display device for, when commands are input into a plurality of windows, respectively, inputting an individual command into each of the windows, and a method of controlling the same.

In one aspect, method is provided for controlling a display device, comprising: displaying, on a touchscreen display, a first window executing a first application and a second window executing a second application; receiving, at the touchscreen display, a first command input to the first window and a second command input to the second window; determining whether the first command and the second command are received simultaneously; dispatching, by a processor, the first command; and dispatching, by the processor, the second command.

In another aspect, a display device for executing an application is provided, the display device comprising a touch screen coupled to controller. The touch screen is configured to display a first window executing a first application and a second window executing a second application, receive a first command input to the first window and a second command input to the second window, the first command and the second being received simultaneously. The controller is configured to match a position of the first window with an input position of the first command, match a position of the second window with an input position of the second command, dispatch the first command based on whether the position of the first window is determined to match the first command, and dispatch the second command based on whether the position of the second window is determined to match the second command.

In yet another aspect, a method is provided for controlling a display device, the method comprising: displaying a plurality of windows, each window executing a different application; receiving a plurality of commands that are input into the plurality of windows, each command being received at a different window, wherein the commands are received simultaneously; and dispatching, by a processor, each of the commands to a different one of the plurality of windows.

In yet another aspect, a display device for executing applications is provided, the display device comprising a touchscreen coupled to a controller. The touchscreen is configured to display a plurality of windows executing applications. The controller is configured to receive a plurality of commands that are input into the plurality of windows, each command being received at a different window, wherein the commands are received simultaneously; dispatch each of the commands to a different one of the plurality of windows.

In yet another aspect, a method for controlling a display device is provided, the method comprising: receiving commands directed to a first application and a second application, the first application being executed in a first window and the second application being executed in a second window; determining, by a processor, a position of the first window and a position of the second window, the determining being performed by the kernel of an operating system executed by the processor; displaying the first window and the second window; receiving a first command input to the first window and a second command input to the second window, the first command and the second command being received simultaneously; matching an input position of the first command with the position of the first window, the matching being performed by the kernel of the operating system; matching an input position of the second command with the position of the second window, the matching being performed by the kernel of the operating system; outputting a first event corresponding to the first command based on the matching; and outputting a second event corresponding to the second command based on the matching.

In yet another aspect, a method for controlling a display device is provided, the method comprising: receiving commands directed to a first application and a second application, the first application being executed in a first window and the second application being executed in a second window; determining, by a processor, a position of the first window and a position of the second window, the determining being performed at a platform level; displaying the first window and the second window; receiving a first command input to the first window and a second command input to the second window, the first command and the second command being received simultaneously; matching an input position of the first command with the position of the first window, the matching being performed at the platform level; matching an input position of the second command with the position of the second window, the matching being performed at the platform level; outputting a first event corresponding to the first command based on the matching; and outputting a second event corresponding to the second command based on the matching.

DETAILED DESCRIPTION

Hereinafter, aspects of the disclosure will be presented with reference to descriptions discussed through the accompanying drawings. However, the disclosure is not limited or restricted by the examples presented therein. The same reference numerals shown in respective drawings indicate members for substantially performing the same function.

FIG. 1depicts a block diagram of a display device100according to aspects of the disclosure. The display device100may include a mobile device, such as a smart phone, a tablet computer (with or without cellular capability), a non-mobile device, such as a desktop computer, a TV display, and or any other suitable type of device. The display device100may be connected to an external device (not shown) by using a mobile communication module120, a sub communication module130, and a connector165. The “external device” may include a different device (not shown) from the display device100, a mobile phone (not shown), a smart phone (not shown), a tablet PC (not shown), and a server (not shown).

The display device100may include a touch screen190and a touch screen controller195. Also, the display device100may include a controller110, a mobile communication module120, the sub communication module130, a multimedia module140, a camera module150, a GPS module155, an input/output module160, a sensor module170, a storage unit175, and a power supply180.

The controller110may include a CPU111, a read-only memory (ROM)112for storing a control program for controlling the display device100, and a random access memory (RAM)113. The RAM113may be used to store a signal or data that is input into the display device100and/or intermediate data generated as a result of operations performed in the display device100. The CPU111may include a single core, a dual core, a triple core, a quad core, and/or any other suitable type of CPU. The CPU111, the ROM112, and the RAM113may be connected through an internal bus. The controller110may control the mobile communication module120, the sub communication module130, the multimedia module140, the camera module150, the GPS module155, the input/output module160, the sensor module170, the storage unit175, the power supply180, the touch screen190, and the touch screen controller195.

The mobile communication module120may connect the display device100with the external device through mobile communication by using at least one or a plurality of antennas (not shown). The mobile communication module120may transmit/receive wireless signals for voice phone communications, video phone communications, Short Message Service (SMS) communications, or Multimedia Message Service (MMS) communications and/or any suitable type of communications with another similar device.

The sub-communication module130may include at least one of the wireless LAN module131and the near field communication module132. For example, the sub communication module130may include only the wireless LAN module131, only the near field communication module132, or both the wireless LAN module131and the near field communication module132. The wireless LAN module131may be connected to the Internet via a wireless Access Point (AP) (not shown). The wireless LAN module131may support a wireless LAN standard (IEEE802.11x) of the Institute of Electrical and Electronics Engineers (IEEE). The near field communication module132may wirelessly perform near field communications between the display device100and a image forming device (not shown). Near field communication techniques may include Bluetooth, Infrared Data Association (IrDA) and the like.

The display device100may include one or more of the mobile communication module120, the wireless LAN module131, and the near field communication module132. For example, the display device100may include a combination of the mobile communication module120, the wireless LAN module131, and the near field communication module132.

The multimedia module140may include one or more the broadcasting communication module141, the audio reproduction module142, and the video reproduction module143. The broadcasting communication module141may receive a broadcasting signal (for example, a TV broadcasting signal, a radio broadcasting signal, or a data broadcasting signal). In addition, the broadcasting module141and broadcasting additional information (for example, Electric Program Guide (EPS) or Electric Service Guide (ESG)) broadcasted from a broadcasting station through a broadcasting communication antenna (not shown) according to a control of the controller110. The audio reproduction module142may reproduce a digital audio file (for example, a file having an extension of mp3, wma, ogg or way) stored or received according to a control of the controller110. The video reproduction module143may reproduce a digital video file (for example, a file having an extension of mpeg, mpg, mp4, avi, mov or mkv) stored or received according to a control of the controller110. The video reproduction module143may reproduce the digital audio file.

The camera module150may include at least one of the first camera151and the second camera152. Although not shown, the camera module150may also include an auxiliary light source (for example, a flash (not shown)) for providing an amount of light required for the photographing. By way of example, the first camera151may be disposed in a front surface of the display device100, and the second camera152may be disposed in a rear surface of the display device100. As another example, the first camera151and the second camera152may be disposed to be, so as to permit the of three-dimensional images or video.

The GPS module155may receive a radio wave from a plurality of GPS satellites (not shown) in Earth orbit and calculate a position of the display device100by using Time of Arrival from the GPS satellites (not shown) to the display device100.

The input/output module160may include at least one of the plurality of buttons161, the microphone162, the speaker163, the vibration motor164, the connector165, and the keypad166. The buttons161may be formed in a front surface, a side surface, or a rear surface of the housing of the display device100, and may include at least one of a power/lock button (not shown), a volume button (not shown), a menu button, a home button, a back button, and a search button161. The microphone162may receive voice or other audio and generate an electrical signal according to a control of the controller110. The speaker may include one or more speakers disposed in a proper position or positions in the housing of the display device100. Any suitable type or number of speakers may be used. Vibration motor164may include one or more vibration motors disposed within the housing of the display device100. Each of the vibration motor164may convert an electrical signal to a mechanical vibration. For example, when the display device100receives an incoming call, the vibration motor164may activate so as to notify the user of the call. As another example, the vibration motor164may operate in response to a touch action of the user on the touch screen190and continuous motions of the touch on the touch screen190.

The connector165may include an interface (e.g., a USB interface or any other suitable type of interface) for connecting the display device100with an external device (not shown) or a power source (not shown). The connector165may transmit data stored in the storage unit175of the display device100to the external device (not shown) through a wired cable connected to the connector165or receive the data from the external device (not shown). Power may be input or a battery (not shown) may be charged from the power source (not shown) through the wired cable connected to the connector165.

The keypad166may include a physical keypad (not shown) formed in the display device100and/or a virtual keypad (not shown) displayed on the touch screen190. In this example, the keypad166may be a virtual keypad. The sensor module170may include at least one sensor for detecting a state of the display device100. For example, the sensor module170may include a proximity sensor for detecting whether the user is close to the display device100, an illumination sensor (not shown) for detecting an amount of light adjacent to the display device100, or a motion sensor (not shown) for detecting an operation of the display device100(for example, a rotation of the display device100, or an acceleration or vibration applied to the display device100). At least one sensor may detect a state of the display device, generate a signal corresponding to the detection, and transmit the generated signal to the controller110. Sensor module170may include any suitable type and/or number of sensors.

The storage unit175may store signals or data input/output as a result of the operation of the mobile communication module120, the sub communication module130, the multimedia module140, the camera module150, the GPS module155, the input/output module160, the sensor module170, and the touch screen190according to a control of the controller110. The storage unit175may store a control program (that is executed by controller110) for controlling the display device100or the controller110and applications. The storage unit175may include a memory card (not shown) (for example, an SD card or a memory stick) mounted to the storage unit175, the ROM112or the RAM113within the controller110, or the display device100, nonvolatile memory, volatile memory, a Hard Disk Drive (HDD), or a Solid State Drive (SSD).

The power supply180may include a battery and/or other circuitry for supplying power to the display device100. Further, the power supply180may receive power from an external power source (not shown) through the wired cable connected to the connector165to the display device100.

The touch screen190may be a resistive type of touch screen, a capacitive type of touch screen, an infrared type of touch screen, an acoustic wave type of touch screen, and/or any other suitable type of touch screen. The touch screen190may provide a user interface for accessing various services, such as telephony services, data transmission, data broadcasting, camera services to the user. The touch screen190may transmit an analog signal corresponding to at least one touch input into the user interface to the touch screen controller195. The touch screen190may receive at least one touch through a body part of the user (for example, fingers including a thumb) or a touchable input means. Also, the touch screen190may receive a continuous motions as input and may transmit an analog signal corresponding to the continuous motions to the touch screen controller195.

The touch according to the present invention is not limited to a touch between the touch screen190and the body part of the user or the touchable input means, but may include a non-touch (for example, a case where a detectable interval between the touch screen190and the body part of the user or the touchable input means is equal to or smaller than 1 mm). The detectable interval of the touch screen190may be changed according to a capability of a structure of the display device100.

The touch screen controller195may include circuitry for converting an analog signal received from the touch screen190to a digital signal (for example, X and Y coordinates). The digital signal may be provided to the controller110which may in turn change the state of the touch screen190based on the digital signal. For example, the controller110may allow a shortcut execution icon (not shown) displayed on the touch screen190to be selected or executed in response to the touch. In some implementations, the touch screen controller195may be integrated into the controller110.

FIG. 2Ais a schematic diagram of the device100in accordance with aspects of the disclosure. Referring toFIG. 2A, the touch screen190is disposed in a center of a front surface100aof the display device100, covering a substantial portion of the area of the front surface100aof the display device100. The first camera151and an illumination sensor170amay be disposed in an edge of the front surface100aof the display device100. For example, a power/reset button161a, a volume button161b, the speaker163, a terrestrial DMB antenna141a, the microphone (not shown), the connector (not shown) and the like may be disposed on the side surface100bof the display device100, and the second camera152(not shown) may be disposed on the rear surface (not shown) of the display device100.

The touch screen190may include a main screen210and a lower bar220. In the example ofFIG. 2A, the touch screen190is horizontally arranged and as such, the display device100and the touch screen190may have a horizontal length larger than a vertical length. In other examples, the touch screen190, however, may be vertically arranged.

In some aspects, the main screen210may include an area where one application or a plurality of applications are executed.FIG. 2Ashows an example where a home screen is displayed on the touch screen.190. The home screen may be the first screen displayed on the touch screen190when the display device100is turned on. Execution keys212for executing a plurality of applications stored in the display device100may be arranged on the home screen in rows and columns. The execution keys212may be formed in icons, buttons, texts or the like. When an execution key212is touched, an application corresponding to the touched execution key212may be executed and then displayed on the main screen196.

The lower bar220may stretch along the lower end of the touch screen190and may include a home screen button222, a back button224, a multi-view mode button226, and a mode switching button228. In one aspect, pressing the home screen movement button222may cause the home screen to be displayed on the main screen210. In another aspect, pressing the back button224may cause a display a screen executed just before a currently executed screen to be presented on the main screen. Additionally or alternatively, pressing the back button224may cause an application most recently used to be terminated. In yet another aspect, pressing the multi-view mode button226may cause a plurality of applications to be displayed on the main screen210in a multi view mode. In yet another aspect, pressing the mode switching button228may change the mode in which currently executed applications are displayed on the main screen210. For example, when the mode switching button228is touched, a switch is performed between a freestyle mode and a split mode. The freestyle and split modes are discussed further below.

In some implementations, an upper bar (not shown may be include) to display battery information and/or other types of information. Additionally or alternatively, in some implementations, the lower bar220may be omitted thus causing the main screen210may occupy the entire area of the touch screen190. Furthermore, in some implementations, the lower bar220and the upper bar (not shown) may be translucently displayed on the main screen196while overlapping each other.

FIG. 2Bis a schematic diagram illustrating a Z-order arrangement of active application windows. As illustrated, under the Z-order arrangement, the screen may be divided into N layers, such that the Nthlayer is associated with a higher rank than the N−1thlayer. Each layer may have a corresponding window and each application may be executed on the corresponding window. For example, when a first application is executed, the first application may be executed in the window on a first layer. Similarly, when a second application is executed, the second application may be executed in the window on a second layer. And when a third application is executed, the third application may be executed in the window on a third layer. The layers on which applications are generated may be hierarchically generated and they may permit a plurality of windows (first to fourth windows) to be overlapping displayed on the main screen210. More specifically, a first window1may be displayed on top of a second window2; the second window2may be displayed on top of a third window3; and the third window3may be displayed on top of a fourth window4. Thus, when the plurality of windows1to4overlap (at least partially), they may have a display order with respect to the z-axis, herein referred to as a Z-order, which determines which window(s) are displayed on top of the rest A layer viewer5may be a screen in which Z-order is hierarchized and then displayed.

FIG. 3Ais a diagram of a window displaying screen presenting a plurality of applications in a freestyle mode according to aspects of the disclosure. In some aspects, the freestyle mode may include a display mode in which the plurality of windows311and312are overlappingly displayed based on their display order. As illustrated inFIG. 3A, a display device300may include a touch screen310. A plurality of windows311and312may be displayed on the touch screen310. Further, a lower bar320may be displayed in a lower end of the touch screen310. Each of windows the311and312may include an execution screen of a particular application, a title bar for the executed application, and/or a control area. Objects related to the application may be displayed on the execution screen of the application. The objects may include text, an image, a button, a check box, a picture, a video, a web, a map and the like. When a user touches an object, a function or event associated with that object may be performed in the object's corresponding application. The object may be called a “view” according to an operating system. The title bar may include at least one control key for controlling a display of the window. For example, the control key may be a window display minimizing button, a window display maximizing button, or a window ending button.

Meanwhile, applications are programs independently implemented by a manufacturer of the display device300or an application developer. Accordingly, a pre-execution of one application is not required to execute another application. Further, although one application ends, another application can be continuously executed.

The applications are distinguished from a complex function application (or dual application) generated by adding some functions (memo function and message transmission/reception function) provided by another application to functions of one application in that the applications are independently implemented programs. However, the complex function application is a single application newly produced to have various functions and thus has differences from conventional applications. Accordingly, the complex function application provides only limited functions without providing various functions unlike the conventional applications. Further, users have the burden of separately purchasing such a new complex function application.

The controller110may control the display of the windows311and312. In some aspects, the controller110can set a display rank for the windows311and312. For example, the controller110can set a first display rank for the window311and a second display rank for the window312. Moreover, the controller110may cause windows having a relatively higher display rank, such as window311, to be superimposed on windows that have a lower display rank, such as window312.

In some aspects, the controller110may assign the display rank of windows311and312according to the (relative) timing of control events that are input into windows311and312. For example, the controller110may give a highest display rank to the window in which a control event is last input. As another example, when the user touches the window311, the controller110may give the highest display rank to the window311. Afterwards, when the user touches the window312, the controller110may give the highest display rank to the window312. Stated succinctly, in some aspects, the rank may be a number, a string, and/or another type of indication that is assigned to application windows by controller110and used to determine the Z-order in which the application windows are displayed.

FIG. 3Bis a diagram of a multi-window framework in accordance with aspects of the disclosure. In some aspects, the multi-view framework may be used to simultaneously display two or more applications.

As illustrated inFIG. 3B, in a platform270, an activity manager291, a window manager292, and a view system294may interact with a multi window platform400via one or more Application Program Interface (API) calls.

An activity manager291serves to activate an application such that a plurality of applications is simultaneously performed. The window manager292draws or controls a plurality of windows, for example, touches, moves, or resizes the plurality of windows. A content provider293may enable an application to access data from another application or share a data thereof. A view system294serves to process a layout, a border, and a button of a single window and redraws an entire screen. A package manager275serves to process and manage an application. A telephony manager276serves to process and manage telephone communication. A resource manager277provides an access to a non-code resource, such as a localized character row, a graphic, a layout file, and the like. A location manager278serves to process and manage location information using a GPS. A notification manager279serves to process and manage an event generated in a system, for example, an alarm, a battery, and a network connection.

In some aspects, each of the activity manager291, the window manager292, the view system294, and platform400may be implemented in software that is executed by controller110and/or another processor. The window manager292may be operable generate a title bar of each window. Further, the window manager292may search for the Z-order of each window or determine the Z-order between the windows according to the search. The multi window platform400may include a multi window manager410and a multi window service420. The multi window manager410provides a function of the multi window service420in an API form to the user, and a Manager/Service structure may operate based on IPC. The multi window service420may trace lifecycles of applications executed with the multi window and manage a state of each application, such as a size, a position or the like.

The called API can manage a size, a position, and visibility of each window.

As described above, the framework according to the present invention may be implemented in a manner of providing the independent multi window framework and then calling the API.

Also, the application layer260may directly call the API from the multi window manager410. That is, the user can use the API by receiving the API from the multi window manager410even when a new application is developed.

FIGS. 3C and 3Dare diagrams illustrating a technique for screen order change in accordance with aspects of the disclosure. In the example ofFIG. 3C, a user302may touch the window312. Controller110may detect the touch and in turn give the highest display order to the window312. Further, the controller110gives a next highest order to the window311being the window that had previously had the highest display order. That is, the controller110reduces the display order of the window311by one level when window312is touched. Thus in some aspects, the controller110may assign and reassign the display order of windows311and312so that it mirrors the order in which the two windows receiver user input.FIG. 3Dillustrates the screen displaying windows311and312after display order of windows311and312has been changed. As illustrated inFIG. 3D, the window312having the highest display order may be at least partially superimposed on the window311.FIGS. 4A and 4Bare diagrams depicting the operation of a display device in a split mode in accordance with some aspects of the disclosure. In the example ofFIG. 4Atwo applications are displayed in a main display screen410in a split mode. In the split mode, a first window440and a second window450may be displayed not to overlap with each other on the main screen410. For example, as illustrated inFIG. 4A, the main screen410may be divided into two parts and the first window440is displayed in one part of the main screen410and the second window450in the other part of the main screen410. The first window440and the second window450may be arranged right next to each other so that they share a common boundary470, without overlapping.

Referring toFIG. 4B, an example is shown where a web browser application is executed in the window440, while a messaging application is executed in the window450. According to this example, a user may search for a desired restaurant through a web browser application executed in the window440on one touch screen420while making an appointment with a friend to have dinner at that restaurant. As illustrated inFIG. 4B, the user can search for information on the Internet by touching objects on the first window440. Further, the user can talk to a friend through a message service by touching objects on the second window450.

FIG. 5is a diagram illustrating the operation of the display device in a freestyle mode in accordance with aspects of the disclosure. A first user10can input a first touch11into an application execution screen511of the first window. Further, a second user20can simultaneously input a second touch12into an application execution screen512of the second window. In some aspect, the input of two touches may be considered to be simultaneous when difference between an input time of the first touch11and an input time of the second touch12may be smaller than a predetermined threshold (e.g. 0.5 seconds). Meanwhile, as described above, when two touches are simultaneously input to the conventional display device, the window having the highest activity order receives both the first touch11and the second touch12.FIG. 6Ais a flowchart of a method for controlling the display device according aspects of the disclosure. The display device can display a plurality of windows each displaying an application in step S601. Meanwhile, the user can simultaneously input commands into two or more windows among the plurality of windows in step S603. When it is determined that the commands are simultaneously input to the two or more windows among the plurality of windows (S603—Y), the display device can dispatch of the inputs to its corresponding application.FIG. 6Bis a flowchart illustrating a method of controlling the display device according to aspects of the disclosure. The display device can display the first window in which the first application is executed and the second window in which the second application is executed in step S611. The display device can determine whether the first input to the first window and the second input to the second window are simultaneously input in step S613. As described above, the simultaneous input may mean that a difference between input times of the first input and the second input is smaller than a preset threshold. When the first input and the second input are simultaneously input (S613—Y), the display device may output a first event corresponding to the first input and also outputs a second event corresponding to the second input in step S615.

FIG. 7is a flowchart illustrating a method of controlling the display device according to aspects of the disclosure. The display device (or processor thereof) can display a plurality of windows each executing an application in step S701. The display device can identify and manage a position of each of the plurality of windows S703. More specifically, the multi window manager410may maintain a record of the positions of the windows corresponding to the executed applications. In some implementation, the record may be stored in memory and for each application screen, it may identify a plurality of coordinates that are occupied by that screen. For example, the display device may maintain the record shown in Table 1.

TABLE 1Range of X axisWindow indexcoordinate valuesRange of y axis coordinate values10~2300~8002230~9000~8003900~12800~800

As shown in Table 1, for example, the record may indicate that the first window has x-axis coordinate values ranging from 0 to 230 and y-axis coordinate values ranging from 0 to 800, the second window has x-axis coordinate values ranging from 230 to 900 and y-axis coordinate values ranging from 0 to 800, and the third window has x-axis coordinate values ranging from 900 to 1280 and y-axis coordinate values ranging from 0 to 800. In this example, the first window executes a first application, the second window executes a second application, and the third window executes a third application. Although in this example, the record includes coordinate values, in other examples, any suitable indication of window location may be used.

For example, in a situation where the multi window manager410receives a command for displaying a plurality of windows, the multi window manager410may assign the coordinate values shown in Table 1 to each of the plurality of windows and cause the display device to display the windows at the locations indicated by those values. Further, the multi window manager410can store and manage the given coordinate values. For example, when a window size change or a window position change is additionally input by the user, the multi window manager410can change at least one of a size and a position of the window in accordance with the corresponding command and then display the changed window. Alternatively, as the at least one of the size and the position of the window is changed, the multi window manager410can store and manage the coordinate value of the changed window.

Furthermore, user(s) can simultaneously input commands into two or more of the windows in step S705. For example, the user(s) can simultaneously input two commands as shown in Table 2. If two commands are not simultaneously input, individual touch inputs to each of windows are performed.

In response to the commands being input, the display device (or processor thereof) can determine a plurality of input positions in step S707that correspond to the plurality of commands. More specifically, the display device can identify that an input position of a first command is (23, 89) and an input position of a second command is (520, 700). The display device can control to output an event corresponding to the window corresponding to the input position in step S709. For example, the display device can identify that coordinates (23, 89) correspond to the input position of the first command are included in a display range of the first window and coordinates (520, 700) corresponding to the input position of the second command are included in a display range of the second window. Afterwards, the display device can control the event corresponding to a left direction drag gesture which is the first command to be dispatched to the first application and a right direction flick gesture which is the second command to be dispatched to the second application.

FIGS. 8A and 8Bare diagrams of systems for receiving user commands that are simultaneously input into a display device according to aspects of the disclosure. Moreover, in the example ofFIG. 8A, execution commands of the first application and the second application are input. A kernel800may manage a position of each of the first window executing the first application and the second window executing the second application. Additionally or alternatively, the kernel800may also maintain window information associated with each window. In some aspects, the window information may include coordinate information identifying an area on a touch panel191where the window is displayed. The kernel800may use this information, command input position, to determine the application to which the input command is to be dispatched. A first command801and a second command802may be input to the touch panel191. The touch panel191may output the two input commands801and802to the kernel800. The kernel800may match input positions of the first command801and the second command802with positions of the first window and the second window. In some aspects, the input position of a command may include one or more coordinates indicating where on the touch panel191the command has been entered.

The kernel800may determine to dispatch the first command801to the first application261and dispatch the second command802to the second application262based on a result of the matching. The kernel800may output the first command801and the second command802to a multi window platform400together with application information to be dispatched. The multi window platform400may dispatch the first command801input from the kernel800to the first application261and dispatch the second command802to the second application262. That is, in the example ofFIG. 8A, the kernel800may recognize the position information of the window (For example, coordinates value) displayed on the display device through communication with the multi window platform400and determine the dispatched application based on the input position of the input command. When a touch event occurs on a display device, the kernel checks the location where the touch event occurred, and can determine whether the touch event occurs on a first window or the second window by comparing the touch event with the position information of the displayed window. In some aspects, the kernel may include software that is executed by controller, such as controller110.

In the example ofFIG. 8B, the multi window platform400can manage the position of each of the first window executing the first application and the second window executing the second application. A first command811and a second command812may be input to the touch panel191. The touch panel191may then provide the two input commands811and812to the kernel800. The kernel800may then provide the first command811and the second command812to the multi window platform400. The multi window platform400may manage window information on the executed application. The window information may include coordinate information and/or another indication of an area on touch panel191that is displaying the window. The multi window platform400may then determine the application to which the input command is to be dispatched based on the window information and the command input position. More specifically, the multi window platform400may be configured to match input positions of the first command811and the second command812with positions of the first window and the second window.

The multi window platform400can determine to dispatch the first command811to the first application261and dispatch the second command812to the second application262based on a result of the matching.

The multi window platform400can determine to dispatch the first command811to the first application261and dispatch the second command812to the second application262. The multi window platform400may dispatch the first command811input from the kernel800to the first application261and dispatch the second command812to the second application262. That is, in the example ofFIG. 8B, the multi window platform400can manage the window information and determine the dispatched application based on the input position of the input command.

FIGS. 9A, 9B and 9Care schematic diagrams of display devices in accordance with aspects of the disclosure. In the example ofFIG. 9A, the display device100displays a first window901executing a web browser and a second window902executing a gallery in the split mode. The first window901may include a search word input window object902. The second window901may display a first image911. A first user10may desire inputting a particular search word into the search word input window. Accordingly, the first user10can first input a touch gesture921to the search word input window object902in order to activate the search word input window. At the same time, the second user20may desire changing the first image911to another image and enjoying the changed image. Accordingly, the second user20may input a left direction flick gesture922of changing a display image. Meanwhile, the touch gesture921and the left direction flick gesture922may be simultaneously input.

In the example ofFIG. 9B, a display device100provides both the touch gesture921and the left direction flick gesture822to an application having the highest activity order. In the embodiment ofFIG. 9B, it is assumed that an activity order of a gallery application is higher than an activity order of a web browser application. Accordingly, the display device900according to the comparative example can dispatch both the touch gesture921and the left direction flick gesture922to the gallery application. The gallery application may recognize the touch gesture921and the left direction flick gesture922as a pinch-in gesture. Accordingly, the controller (not shown) may cause the first image911displayed in the gallery application to be reduced and then displayed.

In the example ofFIG. 9C, the controller110may dispatch the touch gesture921to the web browser application and dispatches the left direction flick gesture922to the gallery application. The controller110can control to output an event corresponding to the touch gesture921to the first window and output an event corresponding to the left direction flick gesture922to the second window. More specifically, in accordance with the touch gesture921, the controller110may display a cursor903on a search word input window902and additionally display a character input board904. Further, the controller110may change the first image911to the second image912and then display the second image912in accordance with the left direction flick gesture922. According to the above description, even when commands are simultaneously input with respect to a plurality of windows, an effect of independently processing the commands can be created. Meanwhile, controlling to output the event in the window may mean changing an execution screen of the corresponding application. Alternatively, outputting the event in the window may mean an output from the display device, not a change of the execution screen of the application. For example, it can be easily understood by those skilled in the art that there is no limitation in outputs of sound, light, or vibration from the display device and types of outputs such as data transmission.

While the disclosure has presented certain specific examples, 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 disclosure as defined by the appended claims.