Sélection de la langue

Search

Sommaire du brevet 2252302 

Énoncé de désistement de responsabilité concernant l'information provenant de tiers

Une partie des informations de ce site Web a été fournie par des sources externes. Le gouvernement du Canada n'assume aucune responsabilité concernant la précision, l'actualité ou la fiabilité des informations fournies par les sources externes. Les utilisateurs qui désirent employer cette information devraient consulter directement la source des informations. Le contenu fourni par les sources externes n'est pas assujetti aux exigences sur les langues officielles, la protection des renseignements personnels et l'accessibilité.

Disponibilité de l'Abrégé et des Revendications

L'apparition de différences dans le texte et l'image des Revendications et de l'Abrégé dépend du moment auquel le document est publié. Les textes des Revendications et de l'Abrégé sont affichés :

  • lorsque la demande peut être examinée par le public;
  • lorsque le brevet est émis (délivrance).
(12) Brevet: (11) CA 2252302
(54) Titre français: CLAVIER POUR TABLE D'ECRITURE ELECTRONIQUE ET METHODE
(54) Titre anglais: KEYBOARD FOR AN ELECTRONIC WRITEBOARD AND METHOD
Statut: Durée expirée - au-delà du délai suivant l'octroi
Données bibliographiques
Abrégés

Abrégé français

Une table d'écriture électronique pour communiquer avec un ordinateur comprenant un logiciel d'applications et exécutant une application active comprend un panneau tactile sur lequel la sortie d'affichage de l'ordinateur est affichée. Le panneau tactile réagit au contact de l'utilisateur et génère des événements. Une fenêtre clavier est affichée sur le panneau tactile et comprend un clavier ayant une pluralité de touches au choix de l'utilisateur. Un pilote reçoit les événements et détecte le contact de l'utilisateur sur le panneau tactile dans la fenêtre clavier et génère des messages en réponse. Un contrôleur exécutant une application de clavier reçoit les messages. L'application de clavier traite les messages pour fournir des données à l'application active qui est en exécution sur l'ordinateur correspondant aux touches du clavier que l'utilisateur touche.


Abrégé anglais

An electronic writeboard for communicating with a computer including applications software and running an active application comprises a touch sensitive panel on which the screen image output of the computer is displayed. The touch sensitive panel is responsive to user contact and generates events. A keyboard window is displayed on the touch sensitive panel and includes a keyboard having a plurality of user selectable keys. A driver receives the events and senses user contact on the touch sensitive panel within the keyboard window and generates messages in response thereto. A controller executing a keyboard application receives the messages. The keyboard application processes the messages to provide data to the active application running on the computer corresponding to keys of the keyboard contacted by the user.

Revendications

Note : Les revendications sont présentées dans la langue officielle dans laquelle elles ont été soumises.


-15-
What is claimed is:
1. An electronic writeboard for communicating with a computer running
on a Windows®-type operating platform, said computer including
applications
software and running an active application having input focus comprising:
a touch sensitive panel on which screen image output of said computer
is displayed, said touch sensitive panel being responsive to user contact and
generating events;
a keyboard window displayed on said touch sensitive panel and
including a keyboard having a plurality of user selectable keys;
a driver receiving events generated by said touch sensitive panel, said
driver sensing user contact on said touch sensitive panel within said keyboard
window
and generating messages in response to user selection of keys of said
keyboard; and
a controller executing a keyboard application and receiving said
messages, said keyboard application processing said messages to provide data
directly
to the active application running on said computer corresponding to keys of
said
keyboard contacted by said user to bypass the computer operating system and
thereby
avoid input focus shifting to said keyboard application in response to user
contacts on
said touch sensitive panel within said keyboard window.
2. An electronic writeboard according to claim 1 wherein said driver
passes events generated as a result of user contact on said touch sensitive
panel
outside of said keyboard window directly to said computer for processing.
3. An electronic writeboard according to claim 2 wherein during
initialization, said controller registers with said driver and provides a
keyboard
window handle establishing the location of said keyboard window on said touch
sensitive panel and a set of message identifiers to allow said driver to
communicate
with said keyboard application.

-16-
4. An electronic writeboard according to claim 3 wherein said driver uses
said message identifiers to generate a message to said keyboard application in
response to a mouse down event resulting from user contact on said touch
sensitive
panel within said keyboard window, said driver setting a flag so that
subsequent
mouse events result in the generation of messages to said keyboard application
until a
mouse up event is detected.
5. An electronic writeboard according to any one of the claims 1 to 4
wherein said keyboard application signals said computer to switch input focus
automatically to another application if input focus is given to said keyboard
application.
6. An electronic writeboard according to claim 5 wherein input focus is
switched automatically to the next application in the Windows® task list.
7. An interactive display system comprising:
an electronic writeboard;
a computer running on a Windows®-based operating platform
connected to said electronic writeboard, said computer including applications
software and running an active application having input focus; and
a projector coupled to said computer and projecting screen image
output of said computer onto said electronic writeboard, wherein said
electronic
writeboard includes:
a touch sensitive panel on which the screen image output of
said computer is displayed, said touch sensitive panel being responsive to
user contact
and generating events;
a keyboard window displayed on said touch sensitive panel and
including a keyboard having a plurality of user selectable keys;
a driver receiving events generated by said touch sensitive
panel, said driver sensing user contact on said touch sensitive panel within
said
keyboard window and generating messages in response to user selection of keys
of
said keyboard; and

-17-
a controller executing a keyboard application and receiving said
messages, said keyboard application processing said messages to provide data
directly
to the active application running on said computer corresponding to keys of
said
keyboard contacted by said user to bypass the computer operating system and
thereby
avoid input focus shifting to said keyboard application in response to user
contacts on
said touch sensitive panel within said keyboard window.
8. An interactive display system according to claim 7 wherein said driver
passes events generated as a result of user contact on said touch sensitive
panel
outside of said keyboard window directly to said computer for processing.
9. An interactive display system according to claim 8 wherein during
initialization, said controller registers with said driver and provides a
keyboard
window handle establishing the location of said keyboard window on said touch
sensitive panel and a set of message identifiers to allow said driver to
communicate
with said keyboard application.
10. An interactive display system according to claim 9 wherein said driver
uses said message identifiers to generate a message to said keyboard
application in
response to a mouse down event resulting from user contact on said touch
sensitive
panel within said keyboard window, said driver setting a flag so that
subsequent
mouse events result in the generation of messages to said keyboard application
until a
mouse up event is detected.
11. An interactive display system according to any one of claims 7 to 10
wherein said keyboard application signals said computer to switch input focus
automatically to another application if input focus is given to said keyboard
application.
12. An interactive display system according to claim 11 wherein input
focus is switched automatically to the next application in the Windows®
task list.

-18-
13. In an electronic writeboard having a touch sensitive panel on which an
on-screen keyboard is displayed within a window, where user contact on said
touch
sensitive panel results in the generation of mouse events conveyed to a
computer
running on a Windows®-based operating system for processing, a method of
inhibiting input focus from being switched from an active application executed
by
said computer to said on-screen keyboard when said on-screen keyboard is
touched,
said method comprising the steps of:
detecting user contact on said touch sensitive panel;
forwarding events generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window directly to said
operating
system for processing; and
processing events generated in response to contact on said touch
sensitive panel within said on-screen keyboard window and forwarding said
processed
events directly to said active application thereby to bypass said Windows®-
based
operating system and inhibit a shift in input focus from said active
application to said
on-screen keyboard.
14. The method of claim 13 further comprising the step of automatically
shifting input focus to another application if input focus is given to said on-
screen
keyboard.
15. A computer readable medium embodying a computer program for
controlling the display of images, said computer program comprising:
computer program code for displaying on a touch sensitive display
screen within a window, a keyboard having a plurality of user selectable keys;
computer program code for sensing contact on the touch sensitive
display screen within the keyboard window and generating events corresponding
to
keys contacted by a user; and
computer program code for processing the events and sending data to
the active application being run by the processor without shifting input focus
to the
on-screen keyboard application as a result of contacts on said touch sensitive
display
within said keyboard window.

-19-
16. The computer readable medium of claim 15 wherein said computer
program code for sensing contacts sends events generated in response to
contact on
the touch sensitive display outside of the keyboard window to said processor
without
said events being processed by said computer program code for processing.
17. The computer readable medium of claim 16 further comprising
computer program code for shifting automatically input focus to another
application if
input focus is given to said on-screen keyboard application.
18. In a computer running on a Windows®-type platform having code
responsible for the automatic activation and deactivation of an application in
response
to mouse events and executing an active application having input focus, a
method of
inputting data to the active application via a touch sensitive on-screen
application
displayed within a window while inhibiting input focus from being switched to
said
on-screen application as result of contacts within said window, said method
comprising the steps of:
detecting user contact on said on-screen application within said
window and generating events corresponding to said user contact; and
conveying data directly to the active application corresponding to the
events thereby to bypass said code.
19. The method of claim 18 further comprising the step of shifting input
focus automatically to another application if input focus is given to said on-
screen
application.
20. Apparatus for controlling the display of images comprising:
a large screen display uncoupled from a projector, which displays a
computer-generated image, and which outputs a location signal corresponding to
a
location on the large-screen display where contact is made; and
a computer running at least one application program on a Windows®
operating system, said computer further running an interrupt routine, the
interrupt

-20-
routine generating a mouse event in response to said location signal and
additionally
causing the application program to modify the computer-generated image in
response
to the mouse event, said computer still further running an on-screen keyboard
application, said on-screen keyboard application causing the computer to
display as
part of the computer-generated image an on-screen keyboard within a window,
said
on-screen keyboard application detecting and processing mouse commands
generated
as a result of user contact on said large-screen display within said window
and
conveying data to an active application program run by said computer while
bypassing the Windows® operating system.
21. Apparatus according to claim 20 wherein said on-screen keyboard
application software causes said computer to shift automatically input focus
to
another application if input focus is given to said on-screen keyboard
application
software.
22. Apparatus according to claim 21 wherein said on-screen keyboard has
a QWERTY layout.
23. Apparatus according to any of claims 20 to 22, wherein said large-
screen display comprises a touch sensitive screen.
24. Apparatus according to any and claims 20 to 23, further comprising the
image projector which comprises:
an LCD projector coupled to the computer; and
an overhead projector adjacent said LCD projector.
25. A method for controlling the display of images projected through a
projector and generated by a computer running application programs on a
Windows®
operating system, comprising the steps of:
displaying the computer-generated image on a large-screen display
uncoupled from the projector, the computer-generated image in part including
an on-
screen keyboard within a keyboard window;

-21-
outputting a location signal corresponding to a location on the large-
screen display where contact is made;
running an interrupt routine on the Windows® operating system of the
computer, the interrupt routine generating a mouse event in response to said
location
signal; and
causing the application program to modify the computer-generated
image in response to the mouse event, the computer-generated image being
modified
at the location on the large-screen display corresponding to the location
where contact
is made, wherein mouse events generated in response to contacts made on the
large-
screen display within the keyboard window are processed via a private
communication mechanism so that data corresponding to the mouse events is sent
to
the active application program being run by the computer without being routed
through the Windows® operating system.
26. A computer readable medium embodying a computer program for
controlling the display of images projected through a projector and generated
by a
computer running application programs on a Windows® operating system, the
computer program comprising:
computer program code for generating display signals for displaying a
computer-generated image on a large-screen display uncoupled from the
projector;
computer program code for, in response to receiving a location signal
corresponding to a location on the large-screen display where a contact is
made,
running an interrupt routine on the Windows® operating system of the
computer, the
interrupt routine generating a mouse event in response to said location
signal; and
computer program code for causing an application program running on
the computer to modify the computer-generated image in response to the mouse
event, the computer-generated image modified at the location on the large-
screen
display corresponding to the location contact is made, wherein mouse events
generated in response to contacts made on the large-screen display within the
keyboard window are processed via a private communications mechanism so that
data
corresponding to the mouse events is sent to the active application program
being run
by the computer without being routed through the Windows® operating
system.

-22-
27. An electronic writeboard for communicating with a computer running
on a multitasking operating platform, said computer executing an active
application
having input focus comprising:
a touch sensitive panel on which screen image output of said computer
is displayed, said touch sensitive panel being responsive to user contact and
generating events;
a keyboard window displayed on said touch sensitive panel and
including a keyboard having a plurality of user selectable keys;
a driver receiving events generated by said touch sensitive panel, said
driver sensing user contact on said touch sensitive panel within said keyboard
window
and generating messages in response to user selection of keys of said
keyboard; and
a controller executing a keyboard application and receiving said
messages, said keyboard application processing said messages to provide data
directly
to the active application running on said computer corresponding to keys of
said
keyboard contacted by said user to bypass code of said operating platform
responsible
for shifting input focus thereby to avoid input focus shifting to said
keyboard
application in response to user contacts on said touch sensitive panel within
said
keyboard window.
28. An electronic writeboard according to claim 27 wherein said driver
passes events generated as a result of user contact on said touch sensitive
panel
outside of said keyboard window directly to said computer for processing.
29. An electronic writeboard according to claim 28 wherein during
initialization, said controller registers with said driver and provides a
keyboard
window handle establishing the location of said keyboard window on said touch
sensitive panel and a set of message identifiers to allow said driver to
communicate
with said keyboard application.
30. An electronic writeboard according to claim 29 wherein said driver
uses said message identifiers to generate a message to said keyboard
application in

-23-
response to a mouse down event resulting from user contact on said touch
sensitive
panel within said keyboard window, said driver setting a flag so that
subsequent
mouse events result in the generation of messages to said keyboard application
until a
mouse up event is detected.
31. An electronic writeboard according to any one of claims 27 to 30
wherein said keyboard application signals said computer to switch input focus
automatically to another application if input focus is given to said keyboard
application.
32. An interactive display system comprising:
an electronic writeboard;
a computer running on a multitasking operating platform connected to
said electronic writeboard, said computer executing an active application
having input
focus; and
a projector coupled to said computer and projecting screen image
output of said computer onto said electronic writeboard, wherein said
electronic
writeboard includes:
a touch sensitive panel on which the screen image output of
said computer is displayed, said touch sensitive panel being responsive to
user contact
and generating events;
a keyboard window displayed on said touch sensitive panel and
including a keyboard having a plurality of user selectable keys;
a driver receiving events generated by said touch sensitive
panel, said driver sensing user contact on said touch sensitive panel within
said
keyboard window and generating messages in response to user selection of keys
of
said keyboard; and
a controller executing a keyboard application and receiving said
messages, said keyboard application processing said messages to provide data
directly
to the active application running on said computer corresponding to keys of
said
keyboard contacted by said user to bypass code of said operating platform
responsible
for shifting input focus thereby to avoid input focus shifting to said
keyboard

-24-
application in response to user contacts on said touch sensitive panel within
said
keyboard window.
33. An interactive display system according to claim 32 wherein said
driver passes events generated as a result of user contact on said touch
sensitive panel
outside of said keyboard window directly to said computer for processing.
34. An interactive display system according to claim 33 wherein during
initialization, said controller registers with said driver and provides a
keyboard
window handle establishing the location of said keyboard window on said touch
sensitive panel and a set of message identifiers to allow said driver to
communicate
with said keyboard application.
35. An interactive display system according to claim 34 wherein said
driver uses said message identifiers to generate a message to said keyboard
application in response to a mouse down event resulting from user contact on
said
touch sensitive panel within said keyboard window, said driver setting a flag
so that
subsequent mouse events result in the generation of messages to said keyboard
application until a mouse up event is detected.
36. An interactive display system according to any one of claims 32 to 35
wherein said keyboard application signals said computer to switch input focus
automatically to another application if input focus is given to said keyboard
application.
37. In a touch sensitive panel on which an on-screen keyboard is displayed
within a window, where user contact on said touch sensitive panel results in
the
generation of mouse events conveyed to a computer running on a multitasking
operating system, a method of inhibiting input focus from being switched from
an
active application executed by said computer to said on-screen keyboard when
said
on-screen keyboard is touched, said method comprising the steps of:
detecting user contact on said touch sensitive panel;

-25-
forwarding events generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said operating
system
for processing; and
processing events generated in response to contact on said touch
sensitive panel within said on-screen keyboard window and forwarding said
processed
events to said active application to bypass code of said operating system
responsible
for shifting input focus and thereby inhibit a shift in input focus from said
active
application to said on-screen keyboard.
38. The method of claim 37 further comprising the step of automatically
shifting input focus to another application if input focus is given to said on-
screen
keyboard.
39. A computing device running on a multitasking operating platform and
including an active application having input focus and a user input keyboard
application, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and
an active application window displayed on said touch sensitive panel,
wherein user input generated in response to user contact within said keyboard
window
is forwarded to said active application by said keyboard application without
invoking
code of said operating platform responsible for handling mouse events and
switching
input focus thereby to inhibit input focus shifting to said keyboard
application.
40. The device of claim 39 wherein the user input received by said active
application is displayed in said active application window.
41. The device of claim 40 wherein said keyboard window includes a
plurality of user selectable keys.

-26-
42. The device of claim 41 wherein said keyboard window registers with
said keyboard application.
43. The device of any one of claims 39 to 42 wherein said keyboard
application automatically shifts input focus to another application should
input focus
be given to said keyboard application.
44. The device of claim 43 wherein said another application is selected
from a task list of said multitasking operating platform.
45. The device of claim 44 wherein the another application is the next
application in said task list.
46. A computing device running on a multitasking operating platform and
including an active application having input focus and a user input keyboard
application, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and
an active application window displayed on said touch sensitive panel,
wherein user input generated in response to user contact within said keyboard
window
is forwarded to said active application by said keyboard application without
invoking
code of said operating platform responsible for handling mouse events and
switching
input focus, said active application retaining said input focus during
generation and
receiving of said user input.
47. The device of claim 46 wherein the user input received by said active
application is displayed in said active application window.
48. The device of claim 47 wherein said keyboard window includes a
plurality of user selectable keys.

-27-
49. The device of claim 48 wherein said keyboard window registers with
said keyboard application.
50. The device of any one of claims 46 to 49 wherein said keyboard
application automatically shifts input focus to another application should
input focus
be given to said keyboard application.
51. The device of claim 50 wherein said another application is selected
from a task list of said multitasking operating platform.
52. The device of claim 51 wherein the another application is the next
application in said task list.
53. In a computing device having a touch sensitive panel on which an on-
screen keyboard is displayed within a window, and running on a multitasking
operating platform, a method of managing data input comprising:
detecting user contact on said touch sensitive panel;
forwarding data generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said computing
device
for processing; and
forwarding data generated in response to contact on said touch
sensitive panel within said on-screen keyboard window to an active application
without invoking code of said operating platform responsible for handling
mouse
events and switching input focus thereby to avoid a shift in input focus from
said
active application to said on-screen keyboard.
54. The method of claim 53 further comprising displaying the data
forwarded to said active application within an active application window
displayed on
said touch sensitive panel.
55. The method of claim 53 or 54 wherein said displayed data is textual
data.

-28-
56. The method of claim 55 further comprising registering said keyboard
window with said computing device.
57. The method of any one of claims 53 to 56 further comprising shifting
input focus automatically to another application should input focus be given
to said
keyboard window.
58. The method of claim 57 further comprising selecting the other
application from a task list of said multitasking operating platform.
59. In a computing device having a touch sensitive panel on which an on-
screen keyboard is displayed within a window and running on a multitasking
operating platform, a method of managing data input comprising:
detecting user contact on said touch sensitive panel;
forwarding data generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said computing
device
for processing;
forwarding data generated in response to contact on said touch
sensitive panel within said on-screen keyboard window to an active
application; and
retaining input focus with said active application at least during
generating and forwarding of data generated in response to contact on said
touch
sensitive panel within said on-screen keyboard window, wherein said on-screen
keyboard forwards user input to said active application without invoking code
of said
operating platform responsible for handling mouse events and switching input
focus.
60. The method of claim 59 further comprising displaying the data
forwarded to said active application within an active application window
displayed on
said touch sensitive panel.
61. The method of claim 59 or 60 wherein said displayed data is textual
data.

-29-
62. The method of claim 61 further comprising registering said on-screen
keyboard with said computing device.
63. The method of any one of claims 59 to 62 further comprising shifting
input focus automatically to another application should input focus be given
to said
on-screen keyboard.
64. The method of claim 63 wherein said another application is selected
from a task list of said multitasking operating platform.
65. The method of claim 64 wherein the another application is the next
application in said task list.
66. In computing device running on a multitasking operating platform and
executing an active application having input focus, a method of inputting data
to the
active application via a user input application, said active application and
user input
application being displayed within respective windows on a touch sensitive
panel,
said method comprising:
detecting user contact within the window of said user input application
and generating data corresponding to said user contact;
conveying the generated data to said active application; and
retaining input focus with said active application, wherein during said
conveying said user input application forwards the generated data to said
active
application without invoking code of said operating platform responsible for
handling
mouse events and switching input focus.
67. The method of claim 66 further comprising displaying the data
forwarded to said active application within its respective window.
68. The method of claim 66 or 76 wherein said displayed data is textual
data.

-30-
69. The method of claim 68 further comprising registering the user input
application with its respective window.
70. The method of any one of claims 66 to 69 further comprising shifting
input focus automatically to another application should input focus be given
to said
user input application.
71. The method of claim 70 wherein said another application is selected
from a task list of said multitasking operating platform.
72. The method of claim 71 wherein the another application is the next
application in said task list.
73. The method of any one of claims 66 to 72 wherein said user input
application includes a plurality of user selectable keys.
74. A computing device, comprising:
a user input device;
a display configured to detect said user input device; and
a processor displaying an application window corresponding to an
active application having input focus of said computing device, displaying a
user
input window corresponding to a user input application while said application
window is displayed, said user input window including a plurality of onscreen
keys
corresponding at least to textual characters and receiving user input on said
display,
said user input being located within said user input window, wherein said user
input
application forwards user input to said active application without invoking
code of
said operating platform responsible for handling mouse events and switching
input
focus and wherein said application window retains input focus after user input
is
received.
75. The device of claim 74, wherein said user input application transmits

-31-
textual data corresponding to said user input to said active application.
76. A computing device running on a multitasking operating platform and
including an active application having input focus and a user input keyboard
application, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and
an active application window displayed on said touch sensitive panel,
wherein user input generated in response to user contact within said keyboard
window
is forwarded to said active application by said keyboard application without
invoking
code of said operating platform responsible for handling mouse events and
switching
input focus thereby to treat the user input as if said user input was
generated by a
physical input device.
77. The device of claim 76 wherein the user input received by said active
application is displayed in said active application window.
78. The device of claim 77 wherein said keyboard window includes a
plurality of user selectable keys.
79. The device of claim 78 wherein said keyboard window registers with
said keyboard application.
80. The device of any one of claims 76 to 79 wherein said keyboard
application automatically shifts input focus to another application should
input focus
be given to said keyboard application.
81. The device of claim 80 wherein said another application is selected
from a task list of said multitasking operating platform.
82. A computing device running on a multitasking operating platform and

-32-
including an active application having input focus and a user input keyboard
application configured to inhibit said keyboard application from gaining
and/or
maintaining input focus, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and
an active application window displayed on said touch sensitive panel,
wherein said keyboard application forwards user input to said active
application while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus thereby to inhibit input focus shifting to said keyboard
application.
83. The device of claim 82 wherein said keyboard window includes a
plurality of user selectable keys.
84. The device of claim 82 wherein said keyboard application
automatically shifts input focus to another application should input focus be
given to
said keyboard application.
85. The device of claim 84 wherein said another application is selected
from a task list of said multitasking operating platform.
86. The device of claim 85 wherein the another application is the next
application in said task list.
87. A computing device running on a multitasking operating platform and
including an active application having input focus and a user input keyboard
application configured to inhibit said keyboard from gaining and/or
maintaining input
focus, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and

-33-
an active application window displayed on said touch sensitive panel,
wherein said keyboard application forwards user input to said active
application while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus so that said active application retains said input focus
during
generation and receiving of said user input.
88. The device of claim 87 wherein said keyboard window includes a
plurality of user selectable keys.
89. The device of claim 87 wherein said keyboard application
automatically shifts input focus to another application should input focus be
given to
said keyboard application.
90. The device of claim 89 wherein said another application is selected
from a task list of said multitasking operating platform.
91. The device of claim 90 wherein the another application is the next
application in said task list.
92. In a computing device having a touch sensitive panel on which an on-
screen keyboard is displayed within a window, and running on a multitasking
operating platform, a method of managing data input comprising:
detecting user contact on said touch sensitive panel;
forwarding data generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said computing
device
for processing; and
forwarding data generated in response to contact on said touch
sensitive panel within said on-screen keyboard window to an active application
while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus thereby to inhibit a shift in input focus from said
active
application to said on-screen keyboard.

-34-
93. The method of claim 92 further comprising displaying the data
forwarded to said active application within an active application window
displayed on
said touch sensitive panel.
94. The method of claim 93 wherein said displayed data is textual data.
95. The method of claim 92 further comprising shifting input focus
automatically to another application should input focus be given to said
keyboard
window.
96. The method of claim 95 further comprising selecting the other
application from a task list of said multitasking operating platform.
97. In a computing device having a touch sensitive panel on which an on-
screen keyboard is displayed within a window and running on a multitasking
operating platform, a method of managing data input comprising:
detecting user contact on said touch sensitive panel;
forwarding data generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said computing
device
for processing;
forwarding data generated in response to contact on said touch
sensitive panel within said on-screen keyboard window to an active application
while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus; and
retaining input focus with said active application at least during
generating and forwarding of data generated in response to contact on said
touch
sensitive panel within said on-screen keyboard window.
98. The method of claim 97 further comprising displaying the data
forwarded to said active application within an active application window
displayed on
said touch sensitive panel.

-35-
99. The method of claim 98 wherein said displayed data is textual data.
100. The method of claim 97 further comprising shifting input focus
automatically to another application should input focus be given to said on-
screen
keyboard.
101. The method of claim 100 wherein said another application is selected
from a task list of said multitasking operating platform.
102. The method of claim 101 wherein the another application is the next
application in said task list.
103. In computing device running on a multitasking operating platform and
executing an active application having input focus, a method of inputting data
to the
active application via a user input application, said active application and
user input
application being displayed within respective windows on a touch sensitive
panel,
said method comprising:
detecting user contact within the window of said user input application
and generating data corresponding to said user contact;
conveying the generated data to said active application while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus; and
retaining input focus with said active application.
104. The method of claim 103 further comprising displaying the data
forwarded to said active application within its respective window.
105. The method of claim 104 wherein said displayed data is textual data.
106. The method of claim 103 further comprising shifting input focus
automatically to another application should input focus be given to said user
input
application.

-36-
107. The method of claim 106 wherein said another application is selected
from a task list of said multitasking operating platform.
108. The method of claim 107 wherein the another application is the next
application in said task list.

Description

Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.


CA 02252302 1998-10-30
KEYBOARD FOR AN ELECTRONIC WRITEBOARD AND METHOD
Field Of The Invention
The present invention relates to electronic writeboards and in particular
to an on-screen keyboard for an electronic writeboard.
Background Of The Invention
Electronic writeboards or whiteboards (EWBs) are known in the art
and have been used in conjunction with host computers executing applications
software to provide enhanced multimedia and teleconferencing capabilities. An
example of an electronic writeboard of this nature is sold by SMART
Technologies
Inc. of Calgary, Alberta, Canada under the name SMART Board. The SMART Board
electronic writeboard includes a touch sensitive panel, a tool tray
accommodating a
plurality of tools such as colored pens and an eraser as well as a driver and
an
associated controller.
In use, the electronic writeboard is connected to a host processor such
as a personal computer operating in a Windows environment and executing
applications software, via a serial data connection. The electronic writeboard
can be
operated in one of three modes, namely a projected mouse mode, a projected
mark-up
mode and a non-projected mode.
In the projected mouse mode, the image displayed on the monitor of
the personal computer is projected onto the touch sensitive panel. In this
case, the
electronic writeboard functions as a giant mouse providing input to the
personal
computer in response to user contact with the touch sensitive panel.
Specifically, the
electronic writeboard generates mouse events in response to user contact with
the
touch sensitive panel which are conveyed to the personal computer for
processing.
Thus, by contacting the touch sensitive panel, the personal computer can be
conditioned to open and display menus, to activate displayed menus, to drag
icons, to
execute software and to switch applications by changing input focus. The
latter event
of course is achieved by contacting the touch sensitive panel outside of the
window of
the active application running on by the personal computer.

CA 02252302 1998-10-30
-2-
In the projected markup mode, the coloured pens and eraser are used to
contact the touch sensitive panel. The active application running on the
personal
computer tracks where writing and erasing has occurred and maintains a
computerized
image of what is drawn on and erased from the touch sensitive panel. The
computerized image is projected onto the touch sensitive panel so that user
can see
the computerized image.
In the non-projected mode, there is no image displayed on the
whiteboard by the computer. Contact made on the whiteboard is recorded on the
attached computer. Since the whiteboard is in non-projected mode, it is not
interactive since users cannot see how their strokes are being recorded. For
this
reason, in non-projected mode, people write on the whiteboard with standard
dry-eraser markers. The computer then tracks their writing and allows
them to save the notes later.
To enhance user input abilities, on-screen keyboards for use with
electronic writeboards have been considered. For example, Innovative
Management
Group Inc. of California, U.S.A. has developed an on-screen keyboard sold
under the
name My-T-Touch. The My-T-Touch keyboard is an extension of a touchscreen
interface and uses "Heads Up Display" technology designed to keep a user's
focus
and concentration in one place. Thus, visual re-focusing and re-positioning,
caused
by the up and down motion of going from screen to keyboard to screen is
reduced.
Unfortunately, prior art on-screen keyboards do not address certain
technical issues and therefore, suffer a number of problems. For example, some
computer platforms such as Microsoft Windows always ensure that an active
application has input focus. In other words, these computer platforms ensure
that any
application that is selected through a mouse click receives input focus, i.e.
the
application becomes active. Thus, when a user contacts a prior art on-screen
keyboard
displayed on a touch sensitive panel to enter text into an active application,
input
focus is switched from the active application to the on-screen keyboard.
Unfortunately, only the application with input focus may receive inputs
from peripheral devices, such as a mouse or a keyboard. Therefore input focus
must

CA 02252302 2004-07-09
-3-
be removed from the on-screen keyboard and given back to the application in
order
for the application to receive any input from the on-screen keyboard.
Switching input
focus from the on-screen keyboard to the application each time the on-screen
keyboard is touched causes many unpleasant side effects. Firstly, a change in
the
activation state of an application causes the application to refresh or redraw
portions
of itsel This means that every time input focus is changed from the active
application to the on-screen keyboard and then back to the application, the
application
will flicker as it refreshes. Secondly, a loss of input focus causes the
application to
close all of its open menus. As a result, prior art on-screen keyboards cannot
be used
to navigate through the menus of an active application. Finally, some
applications,
such as Internet ExplorerTM, do not retain the text insertion point whenever
input
focus is lost. This means that when input focus is switched from the active
application to the on-screen keyboard and then back to the application, the
cursor is
often positioned at a different point than where the cursor was prior to the
active
application losing input focus. In some circumstances, this makes it
impossible to
type text into certain fields using an on-screen keyboard.
It is therefore an object of the present invention to provide a novel on-
screen keyboard for an electronic writeboard and an interactive display system
incorporating the same.
Summary Of The Invention
According to one aspect of the present invention there is provided an
electronic writeboard for communicating with a computer running on a Windows -
type operating platform, said computer including applications software and
running
an active application having input focus comprising:
a touch sensitive panel on which screen image output of said computer
is displayed, said touch sensitive panel being responsive to user contact and
generating events;
a keyboard window displayed on said touch sensitive panel and
including a keyboard having a plurality of user selectable keys;
a driver receiving events generated by said touch sensitive panel, said
driver sensing user contact on said touch sensitive panel within said keyboard
window

CA 02252302 2004-07-09
-4-
and generating messages in response to user selection of keys of said
keyboard; and
a controller executing a keyboard application and receiving said
messages, said keyboard application processing said messages to provide data
directly
to the active application running on said corriputer corresponding to keys of
said
keyboard contacted by said user to bypass the computer operating system and
thereby
avoid input focus shifting to said keyboard application in response to user
contacts on
said touch sensitive panel within said keyboard window.
In a preferred embodiment, the driver passes events resulting from user
contact on the touch sensitive panel outside of the keyboard window directly
to the
computer for processing. During initialization, the controller registers with
the driver
and provides a keyboard window handler establishing the location of the
keyboard
window on the touch sensitive panel and a set of message identifiers to allow
the
driver to communicate with the keyboard application. The driver uses the
message
identifiers to generate a message to the keyboard application in response to a
mouse
down event resulting from user contact within the keyboard window. A flag is
also
set by the driver so that subsequent mouse move events or a mouse up event
result in
the generation of messages or a message to the keyboard application.
It is also preferred that the keyboard application signals the computer
to switch input focus to another application if input focus is given to the
keyboard
window.
According to another aspect of the present invention there is provided
an interactive display system comprising:
an electronic writeboard;
a computer running on a Windows -based operating platform
connected to said electronic writeboard, said computer including applications
software and running an active application having input focus; and
a projector coupled to said computer and projecting screen image
output of said computer onto said electronic writeboard, wherein said
electronic
writeboard includes:
a touch sensitive panel on which the screen image output of
said computer is displayed, said touch sensitive panel being responsive to
user contact
and generating events;

CA 02252302 2008-01-28
-5-
a keyboard window displayed on said touch sensitive panel and
including a keyboard having a plurality of user selectable keys;
a driver receiving events generated by said touch sensitive
panel, said driver sensing user contact on said touch sensitive panel within
said
keyboard window and generating messages in response to user selection of keys
of
said keyboard; and
a controller executing a keyboard application and receiving said
messages, said keyboard application processing said messages to provide data
directly
to the active application running on said computer corresponding to keys of
said
keyboard contacted by said user to bypass the computer operating system and
thereby
avoid input focus shifting to said keyboard application in response to user
contacts on
said touch sensitive panel within said keyboard window.
According to yet another aspect of the present invention there is
provided in an electronic writeboard having a touch sensitive panel on which
an on-
screen keyboard is displayed within a window, where user contact on said touch
sensitive panel results in the generation of mouse events conveyed to a
computer
running on a Windows -based operating system for processing, a method of
inhibiting input focus from being switched from an active application executed
by
said computer to said on-screen keyboard when said on-screen keyboard is
touched,
said method comprising the steps of:
detecting user contact on said touch sensitive panel;
forwarding events generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window directly to said
operating
system for processing; and
processing events generated in response to contact on said touch
sensitive panel within said on-screen keyboard window and forwarding said
processed
events directly to said active application thereby to bypass said Windows -
based
operating system and inhibit a shift in input focus from said active
application to said
on-screen keyboard.
According to yet another aspect of the present invention there is
provided in computer readable medium embodying a computer program for
controlling the display of images, said computer program comprising:

CA 02252302 2008-01-28
-5a-
computer program code for displaying on a touch sensitive display
screen within a window, a keyboard having a plurality of user selectable keys;
computer program code for sensing contact on the touch sensitive
display screen within the keyboard window and generating events corresponding
to
keys contacted by a user; and
computer program code for processing the events and sending data to
the active application being run by the processor without shifting input focus
to the
on-screen keyboard application as a result of contacts on said touch sensitive
display
within said keyboard window.
According to yet another aspect of the present invention there is
provided in a computer running on a Windows -type platform having code
responsible for the automatic activation and deactivation of an application in
response
to mouse events and executing an active application having input focus, a
method of
inputting data to the active application via a touch sensitive on-screen
application
displayed within a window while inhibiting input focus from being switched to
said
on-screen application as result of contacts within said window, said method
comprising the steps of:
detecting user contact on said on-screen application within said
window and generating events corresponding to said user contact; and
conveying data directly to the active application corresponding to the
events thereby to bypass said code.
According to yet another aspect of the present invention there is
provided in an apparatus for controlling the display of images comprising:
a large screen display uncoupled from a projector, which displays a
computer-generated image, and which outputs a location signal corresponding to
a
location on the large-screen display where contact is made; and
a computer running at least one application program on a Windows
operating system, said computer further running an interrupt routine, the
interrupt
routine generating a mouse event in response to said location signal and
additionally
causing the application program to modify the computer-generated image in
response
to the mouse event, said computer still further running an on-screen keyboard
application, said on-screen keyboard application causing the computer to
display as

CA 02252302 2008-01-28
- 5b -
part of the computer-generated image an on-screen keyboard within a window,
said
on-screen keyboard application detecting and processing mouse commands
generated
as a result of user contact on said large-screen display within said window
and
conveying data to an active application program run by said computer while
bypassing the Windows operating system.
According to yet another aspect of the present invention there is
provided a method for controlling the display of images projected through a
projector
and generated by a computer running application programs on a Windows
operating
system, comprising the steps of:
displaying the computer-generated image on a large-screen display
uncoupled from the projector, the computer-generated image in part including
an on-
screen keyboard within a keyboard window;
outputting a location signal corresponding to a location on the large-
screen display where contact is made;
running an interrupt routine on the Windows operating system of the
computer, the interrupt routine generating a mouse event in response to said
location
signal; and
causing the application program to modify the computer-generated
image in response to the mouse event, the computer-generated image being
modified
at the location on the large-screen display corresponding to the location
where contact
is made, wherein mouse events generated in response to contacts made on the
large-
screen display within the keyboard window are processed via a private
communication mechanism so that data corresponding to the mouse events is sent
to
the active application program being run by the computer without being routed
through the Windows operating system.
According to yet another aspect of the present invention there is
provided a computer readable medium embodying a computer program for
controlling
the display of images projected through a projector and generated by a
computer
running application programs on a Windows operating system, the computer
program comprising:
computer program code for generating display signals for displaying a
computer-generated image on a large-screen display uncoupled from the
projector;

CA 02252302 2008-01-28
- 5c -
computer program code for, in response to receiving a location signal
corresponding to a location on the large-screen display where a contact is
made,
running an interrupt routine on the Windows operating system of the computer,
the
interrupt routine generating a mouse event in response to said location
signal; and
computer program code for causing an application program running on
the computer to modify the computer-generated image in response to the mouse
event, the computer-generated image modified at the location on the large-
screen
display corresponding to the location contact is made, wherein mouse events
generated in response to contacts made on the large-screen display within the
keyboard window are processed via a private communications mechanism so that
data
corresponding to the mouse events is sent to the active application program
being run
by the computer without being routed through the Windows operating system.
According to yet another aspect of the present invention there is
provided an electronic writeboard for communicating with a computer running on
a
multitasking operating platform, said computer executing an active application
having
input focus comprising:
a touch sensitive panel on which screen image output of said computer
is displayed, said touch sensitive panel being responsive to user contact and
generating events;
a keyboard window displayed on said touch sensitive panel and
including a keyboard having a plurality of user selectable keys;
a driver receiving events generated by said touch sensitive panel, said
driver sensing user contact on said touch sensitive panel within said keyboard
window
and generating messages in response to user selection of keys of said
keyboard; and
a controller executing a keyboard application and receiving said
messages, said keyboard application processing said messages to provide data
directly
to the active application running on said computer corresponding to keys of
said
keyboard contacted by said user to bypass code of said operating platform
responsible
for shifting input focus thereby to avoid input focus shifting to said
keyboard
application in response to user contacts on said touch sensitive panel within
said
keyboard window.

CA 02252302 2008-01-28
- 5d-
According to yet another aspect of the present invention there is
provided an interactive display system comprising:
an electronic writeboard;
a computer running on a multitasking operating platform connected to
said electronic writeboard, said computer executing an active application
having input
focus; and
a projector coupled to said computer and projecting screen image
output of said computer onto said electronic writeboard, wherein said
electronic
writeboard includes:
a touch sensitive panel on which the screen image output of
said computer is displayed, said touch sensitive panel being responsive to
user contact
and generating events;
a keyboard window displayed on said touch sensitive panel and
including a keyboard having a plurality of user selectable keys;
a driver receiving events generated by said touch sensitive
panel, said driver sensing user contact on said touch sensitive panel within
said
keyboard window and generating messages in response to user selection of keys
of
said keyboard; and
a controller executing a keyboard application and receiving said
messages, said keyboard application processing said messages to provide data
directly
to the active application running on said computer corresponding to keys of
said
keyboard contacted by said user to bypass code of said operating platform
responsible
for shifting input focus thereby to avoid input focus shifting to said
keyboard
application in response to user contacts on said touch sensitive panel within
said
keyboard window.
According to yet another aspect of the present invention there is
provided in a touch sensitive panel on which an on-screen keyboard is
displayed
within a window, where user contact on said touch sensitive panel results in
the
generation of mouse events conveyed to a computer running on a multitasking
operating system, a method of inhibiting input focus from being switched from
an
active application executed by said computer to said on-screen keyboard when
said
on-screen keyboard is touched, said method comprising the steps of:

CA 02252302 2008-01-28
- 5e -
detecting user contact on said touch sensitive panel;
forwarding events generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said operating
system
for processing; and
processing events generated in response to contact on said touch
sensitive panel within said on-screen keyboard window and forwarding said
processed
events to said active application to bypass code of said operating system
responsible
for shifting input focus and thereby inhibit a shift in input focus from said
active
application to said on-screen keyboard.
According to yet another aspect of the present invention there is
provided in a computing device running on a multitasking operating platform
and
including an active application having input focus and a user input keyboard
application, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and
an active application window displayed on said touch sensitive panel,
wherein user input generated in response to user contact within said keyboard
window
is forwarded to said active application by said keyboard application without
invoking
code of said operating platform responsible for handling mouse events and
switching
input focus thereby to inhibit input focus shifting to said keyboard
application.
According to yet another aspect of the present invention there is
provided a computing device running on a multitasking operating platform and
including an active application having input focus and a user input keyboard
application, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and
an active application window displayed on said touch sensitive panel,
wherein user input generated in response to user contact within said keyboard
window
is forwarded to said active application by said keyboard application without
invoking
code of said operating platform responsible for handling mouse events and
switching

CA 02252302 2008-01-28
- 5f -
input focus, said active application retaining said input focus during
generation and
receiving of said user input.
According to yet another aspect of the present invention there is
provided in a computing device having a touch sensitive panel on which an on-
screen
keyboard is displayed within a window, and running on a multitasking operating
platform, a method of managing data input comprising:
detecting user contact on said touch sensitive panel;
forwarding data generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said computing
device
for processing; and
forwarding data generated in response to contact on said touch
sensitive panel within said on-screen keyboard window to an active application
without invoking code of said operating platform responsible for handling
mouse
events and switching input focus thereby to avoid a shift in input focus from
said
active application to said on-screen keyboard.
According to yet another aspect of the present invention there is
provided in a computing device having a touch sensitive panel on which an on-
screen
keyboard is displayed within a window and running on a multitasking operating
platform, a method of managing data input comprising:
detecting user contact on said touch sensitive panel;
forwarding data generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said computing
device
for processing;
forwarding data generated in response to contact on said touch
sensitive panel within said on-screen keyboard window to an active
application; and
retaining input focus with said active application at least during
generating and forwarding of data generated in response to contact on said
touch
sensitive panel within said on-screen keyboard window, wherein said on-screen
keyboard forwards user input to said active application without invoking code
of said
operating platform responsible for handling mouse events and switching input
focus.
According to yet another aspect of the present invention there is
provided in computing device running on a multitasking operating platform and

CA 02252302 2008-01-28
- 5g -
executing an active application having input focus, a method of inputting data
to the
active application via a user input application, said active application and
user input
application being displayed within respective windows on a touch sensitive
panel,
said method comprising:
detecting user contact within the window of said user input application
and generating data corresponding to said user contact;
conveying the generated data to said active application; and
retaining input focus with said active application, wherein during said
conveying said user input application forwards the generated data to said
active
application without invoking code of said operating platform responsible for
handling
mouse events and switching input focus.
According to yet another aspect of the present invention there is
provided a computing device, comprising:
a user input device;
a display configured to detect said user input device; and
a processor displaying an application window corresponding to an
active application having input focus of said computing device, displaying a
user
input window corresponding to a user input application while said application
window is displayed, said user input window including a plurality of onscreen
keys
corresponding at least to textual characters and receiving user input on said
display,
said user input being located within said user input window, wherein said user
input
application forwards user input to said active application without invoking
code of
said operating platform responsible for handling mouse events and switching
input
focus and wherein said application window retains input focus after user input
is
received.
According to yet another aspect of the present invention there is
provided a computing device running on a multitasking operating platform and
including an active application having input focus and a user input keyboard
application, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and

CA 02252302 2008-01-28
- 5h-
an active application window displayed on said touch sensitive panel,
wherein user input generated in response to user contact within said keyboard
window
is forwarded to said active application by said keyboard application without
invoking
code of said operating platform responsible for handling mouse events and
switching
input focus thereby to treat the user input as if said user input was
generated by a
physical input device.
According to yet another aspect of the present invention there is
provided a computing device running on a multitasking operating platform and
including an active application having input focus and a user input keyboard
application configured to inhibit said keyboard application from gaining
and/or
maintaining input focus, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and
an active application window displayed on said touch sensitive panel,
wherein said keyboard application forwards user input to said active
application while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus thereby to inhibit input focus shifting to said keyboard
application.
According to still yet another aspect of the present invention there is
provided a computing device running on a multitasking operating platform and
including an active application having input focus and a user input keyboard
application configured to inhibit said keyboard from gaining and/or
maintaining input
focus, said computing device comprising:
a touch sensitive panel;
a user input keyboard window displayed on said touch sensitive panel;
and
an active application window displayed on said touch sensitive panel,
wherein said keyboard application forwards user input to said active
application while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus so that said active application retains said input focus
during
generation and receiving of said user input.

CA 02252302 2008-01-28
-51-
According to still yet another aspect of the present invention there is
provided in a computing device having a touch sensitive panel on which an on-
screen
keyboard is displayed within a window, and running on a multitasking operating
platform, a method of managing data input comprising:
detecting user contact on said touch sensitive panel;
forwarding data generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said computing
device
for processing; and
forwarding data generated in response to contact on said touch
sensitive panel within said on-screen keyboard window to an active application
while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus thereby to inhibit a shift in input focus from said
active
application to said on-screen keyboard.
According to still yet another aspect of the present invention there is
provided in a computing device having a touch sensitive panel on which an on-
screen
keyboard is displayed within a window and running on a multitasking operating
platform, a method of managing data input comprising:
detecting user contact on said touch sensitive panel;
forwarding data generated in response to contact on said touch
sensitive panel outside of said on-screen keyboard window to said computing
device
for processing;
forwarding data generated in response to contact on said touch
sensitive panel within said on-screen keyboard window to an active application
while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus; and
retaining input focus with said active application at least during
generating and forwarding of data generated in response to contact on said
touch
sensitive panel within said on-screen keyboard window.
According to still yet another aspect of the present invention there is
provided in computing device running on a multitasking operating platform and
executing an active application having input focus, a method of inputting data
to the
active application via a user input application, said active application and
user input

CA 02252302 2008-01-28
-5j -
application being displayed within respective windows on a touch sensitive
panel,
said method comprising:
detecting user contact within the window of said user input application
and generating data corresponding to said user contact;
conveying the generated data to said active application while
bypassing code of said operating platform responsible for handling mouse
events and
switching input focus; and
retaining input focus with said active application.
The present invention provides advantages in that when the on-screen
keyboard is used to enter data text into an active application, the active
application
does not flicker or close its open menus. This is achieved by inhibiting input
focus
from changing to the on-screen keyboard when it is touched. Also, since input
focus

CA 02252302 1998-10-30
-6-
does not change, text insertion points in active applications are not lost
when the on-
screen keyboard is used to enter data into the active application.
Brief Description Of The Drawings
An embodiment of the present invention will now be described more
fully with reference to the accompanying drawings in which:
Figure 1 is a schematic view of an interactive display system including
an electronic writeboard having a touch sensitive panel;
Figure 2 is a front view of the touch sensitive panel of Figure 1 on
which an active application and an on-screen keyboard in accordance with the
present
invention are projected; and
Figure 3 is a flow chart illustrating the steps performed by the
electronic writeboard when the on-screen keyboard is used to enter data into
an active
application.
Detailed Description Of The Preferred Embodiment
Referring now to Figure 1, an interactive display system is shown and
is generally indicated to by reference numeral 10. As can be seen, interactive
display
system 10 includes an electronic writeboard 12 (EWB) of the type manufactured
by
SMART Technologies Inc. under model No. SB360 and sold under the name SMART
Board. The SMART Board 12 includes a touch sensitive panel 14 and a tool tray
16
accommodating a plurality of tools 18 and having at least one user selectable
button
19. The tools 18 include a number of colored pens and an eraser. A controller
28
having memory is installed in a slot of a personal computer 26 and executes a
controller application to control the overall operation of the SMART Board 12.
A
driver in the form of an application is executed by the personal computer 26
and
translates serial data from the controller 28 into events such as mouse
events, tool
change events and button press events.
The personal computer 26 is connected to a liquid crystal display panel
30 positioned on an overhead projector 32 so that the screen image presented
on the

CA 02252302 2005-02-21
-7-=
monitor of the personal computer is projected onto the touch sensitive panel
14. As
will be appreciated, the touch sensitive pane I can be placed in front of a
rear
projection system.
The SMART Board 12 can operate either in a projection mode or in a
non-projection mode. As mentioned previously, in the projection mode, screen
images generated by the personal computer 26 are projected onto the touch
sensitive
panel 14 and the SMART Board 12 functions as a giant mouse. The touch
sensitive
panel 14 is mapped onto the drawing area of the running application so that
writing
and erasing on the touch sensitive panel 14 is stored as a computerized image
and
projected onto the touch sensitive panel.
When the electronic writeboard 12 and the personal computer 26 are
connected and initialized, the electronic writeboard driver registers with the
writeboard applications software executed by the personal computer. During
this
registration process, the driver determines the messages to which the
applications
software responds. Once the registration prccess has been completed, events
generated by the SMART Board 12 as a result of user contact with the touch
sensitive
panel, selection of a tool, pressing of a buttoil etc. are sent to the
application software.
If the application software is not "aware" of the SMART Board 12
such as Microsoft NetMeeting i.e. the applications software does not use the
SMART
Board SDK source code, the personal compL.ter 26 executes Aware interface
software
to interface the SMART Board 12 and the afplications software.
In the preferred embodiment, the personal computer 26 runs a
Windows 95 platform and executes a variety of applications programs. In the
projection mode, touching the touch sensitiv,,- panel results in mouse events
being
generated and processed by the personal corriputer. To allow a user to enter
text data
into an active application executed by the personal computer without having to
use the

CA 02252302 1998-10-30
-8-
keyboard of the personal computer 26, the controller 28 executes a keyboard
application so that an on-screen keyboard 40 is presented within a window on
the
touch sensitive panel 14 (see Figure 2). As can be seen, the on-screen
keyboard 40
includes a plurality of selectable keys 42 and in this embodiment is based on
a
"QWERTY" layout.
Unlike conventional prior art on-screen keyboards, the on-screen
keyboard 40 in accordance with the present invention allows a user to enter
data into
an active application by touching the on-screen keyboard without input focus
changing to the on-screen keyboard even though the personal computer 26 runs a
Windows platform. To achieve this, the driver and the controller 28 invoke a
private communication mechanism so that mouse events generated as a result of
contact with the touch sensitive panel 14 within the on-screen keyboard window
are
sent directly to the controller 28 instead of being routed through Windows .
In this
manner, the code in Windows responsible for the automatic activation and de-
activation of applications in response to mouse events is bypassed. Thus, the
controller 28 is able to process on-screen keyboard events without input focus
changing. As a result, the problems associated with prior art on-screen
keyboards
described previously are overcome. Further specifics of the private
communication
mechanism established between the driver and the controller 28 will now be
described
with particular reference to Figure 3.
In operation, when the SMART Board 12 is initiated, the controller 28
registers the on-screen keyboard 40 with the driver by submitting two pieces
of
information to the driver. The first piece of information is the window handle
of the
keyboard window which includes its position on the touch sensitive panel 14.
The
second piece of information is a set of message identifiers and flags which
allows the
driver to communicate with the keyboard application executed by the controller
28.
Once the controller 28 has registered with the driver, when a user
contacts the touch sensitive panel 14 and a mouse event is generated (block
48), the
driver checks to see if the mouse down event occurred within the keyboard
window
(block 50). If the mouse down event occurred outside of the keyboard window,
the

CA 02252302 1998-10-30
-9-
driver simply sends the mouse event to Windows (block 52). Windows in turn
handles the mouse down event in the conventional manner and the driver awaits
the
next mouse event.
If the mouse down event occurs within the keyboard window, the
driver notifies the controller 28 of the mouse down event using the set of
message
identifiers and flags. The driver also sets a second flag so that all
subsequent mouse
events are sent to the keyboard application until a mouse up event is
detected. When
the controller 28 receives the identifiers and flags which represent the key
selected by
the user, the keyboard application proceeds to process the mouse down event
and
sends the selected key data to the active application with input focus. The
text
corresponding to the activated key 42 of on-screen keyboard is therefore,
entered into
the active application (blocks 54 and 56).
If a mouse move event or a mouse up event is generated, the
driver checks to see if the flag was set to determine whether the event should
be sent
to the controller 28. If the flag is set, the mouse move or mouse up event is
sent to the
keyboard application for processing. If the flag is not set, the mouse event
is sent to
Windows .
This process is repeated for each mouse down event so that mouse
events occurring within the keyboard window bypass Windows and thereby
inhibit
input focus changing from the active application to the on-screen keyboard 40.
Source code for the driver and controller to perform the above-described
operation is
set out in Appendix A.
It is possible for the on-screen keyboard 40 to become active and gain
input focus through use of an Alt-Tab hotkey sequence or through the WindowsOO
Task Manager. If the on-screen keyboard 40 becomes active, the controller 28
automatically notifies Windows to switch input focus to the next application
in the
Windows task list. In this manner, if input focus is inadvertently switched
to the on-
screen keyboard 40, it is quickly switched to another application.

CA 02252302 1998-10-30
-10-
As will be appreciated, the present invention allows an on-screen
keyboard to be used to enter text into an active application while avoiding
the
problems associated with prior art on-screen keyboards.
Although the electronic writeboard 12 has been described as a SMART
Board including a tool tray with colored pens and an eraser, those of skill in
the art
will appreciate that the on-screen keyboard can be used with other electronic
writeboards which use software tool panels allowing a user to select a tool.
Also,
although a preferred embodiment of the present invention has been described,
those of
skill in the art will appreciate that variations and modifications may be made
without
departing from the spirit and scope thereof as defined by the appended claims.

CA 02252302 1998-10-30
-11-
APPENDIX A
KEYBOARD APPLICATION
STRUCTURE registrationBlock
{
WORD messageType;
WORD downMessage;
WORD upMessage;
WORD moveMessage;
WINDOW windowHandle;
};
WINDOW
smartBoardDriverWindow=FindWindow(driver_class_name,driver_title);
if (EXISTS(smartBoardDriverWindow))
{
//create a block of data that we use to pass information to the driver
registrationBlock myBlock;
//The driver asks as what messages we would like to receive for the various
//mouse movement events.
myB lock.messageType=REGISTER_MOUSE;
myB lock. downMessage=DOWN_MES SAGE;
myBlock.upMessage=UP_MESSAGE;
myBlock.moveMessage=MOVE_MESSAGE;
myB lock.windowHandle=mainWindowHandle;
//Use a special windows message called COPYDATA to send a block
//of information to the driver
S endMes s age(smartB o ardDriverW indow, WM_C OPYDATA, &myB lock);
}
OnDownMessage(POSITION pos,FLAGS flags)
{
savedbutton=GetButtonFromPosition(pos);
if (savedbutton!=0)
{
savebutton. drawpusheddown();
}
}
OnMoveMessage(POSITION pos,FLAGS flags)
{
//No button was pressed, so ignore moves.

CA 02252302 1998-10-30
-12-
APPENDIX A (CON'T)
if (savedbutton=0)
return;
BUTTON newbutton=GetButtonFromPosition(pos);
if (newbuton!=savedbutton)
{
//move button up if mouse moves of it
newbutton.Drawunpushedbutton();
return;
}
else
{
newbutton.Drawpushedbutton();
}
}
OnUpMessage(POSITION pos)
{
//No button was pressed, so ignore the up
if (savedbutton=0)
return;
if (GetButtonFromPosition(pos)!=savedButton)
return;
savedbutton.Drawunpushedbutton();
savedbutton.SendKeyPressToWindowsQ;
savedbutton=0;
}
BOARD DRIVER APPLICATION
void HandleBoardRegisrationBlock(registrationBlock theBlock)
{
//When we get the block from the keyboard asking for us to register it to get
//mouse events directly
//we store it in a list of these blocks so that many applications can use this
//approach if needed.
listOfRegisteredB locks.AddToEnd(theBlock);
}
//This function is called when the board driver is about to send a mouse
//down to the system.
void HandleMouseDownEvent(POSITION pos,FLAGS flags)

CA 02252302 1998-10-30
-13-
APPENDIX A (CON'T)
{
//What window are we pushing on.
WINDOW PressedOn=WIndowFromPoint(pos);
//is it one of our registered windows?
for (INTEGER i=0;i<listOfRegisteredBlocks.GetNumberOfBlocks();i++)
{
registrationBlock
block=listOfRegisteredBlocks. GetBlockBylndex(i);
if (block.windowHandle=PressedOn)
{
//Press was on the registered window. Send it the message
SendMessage(RegisteredWindow,block. downMessage, flags,pos);
//save the handle so that all events until the up event can go to
//the same place.
blockForSubsequentEvents=block;
return;
}
}
//The window we are clicking on is not one of our registered windows, so
//send the events directly to the operating system
blockForSubsequentEvents=0;
SendMessageToSystem(WM_LBUTTONDOWN,flags,pos);
}
void HandleMouseMoveEvent(POSITION pos,FLAGS flags)
{
//If we sent the down event to a special window all subsequent events must go
//there too
if (blockForSubsequentEvents!=0)
{
//Press was on the registered window. Send it the message
SendMessage(blockForSubsequentEvents.windowHandle,
blockForSubsequentEvents. downMessage,flags,po s);
}
else
{
SendMessageToSystem(WM_MOUSEMOVE,flags,pos);
}
}
void HandleMouseUpEvent(POSITION pos,FLAGS flags)

CA 02252302 1998-10-30
-14-
APPENDIX A (CON'T)
{
//If we sent the down event to a special window all subsequent events must go
//there too
if (blockForSubsequentEvents!=0)
{
//Press was on the registered window. Send it the message
SendMessage(blockForSubsequentEvents.windowHandle,
blockForSubsequentEvents.upMessage,flags,pos);
}
else
{
SendMessageToSystem(WM_LBUTTONUP,flags,pos);
}
blockForSubsequentEvents=0;
//reset it. It will be initialized again on the next button down.
}

Dessin représentatif
Une figure unique qui représente un dessin illustrant l'invention.
États administratifs

2024-08-01 : Dans le cadre de la transition vers les Brevets de nouvelle génération (BNG), la base de données sur les brevets canadiens (BDBC) contient désormais un Historique d'événement plus détaillé, qui reproduit le Journal des événements de notre nouvelle solution interne.

Veuillez noter que les événements débutant par « Inactive : » se réfèrent à des événements qui ne sont plus utilisés dans notre nouvelle solution interne.

Pour une meilleure compréhension de l'état de la demande ou brevet qui figure sur cette page, la rubrique Mise en garde , et les descriptions de Brevet , Historique d'événement , Taxes périodiques et Historique des paiements devraient être consultées.

Historique d'événement

Description Date
Inactive : CIB expirée 2022-01-01
Inactive : Périmé (brevet - nouvelle loi) 2018-10-30
Requête visant le maintien en état reçue 2017-09-27
Exigences relatives à la nomination d'un agent - jugée conforme 2017-07-17
Exigences relatives à la révocation de la nomination d'un agent - jugée conforme 2017-07-17
Inactive : Lettre officielle 2017-07-14
Inactive : Lettre officielle 2017-07-14
Inactive : Lettre officielle 2017-07-14
Demande visant la révocation de la nomination d'un agent 2017-06-23
Demande visant la nomination d'un agent 2017-06-23
Inactive : Transferts multiples 2016-12-13
Inactive : TME en retard traitée 2014-12-08
Lettre envoyée 2014-10-30
Lettre envoyée 2013-09-18
Lettre envoyée 2013-08-20
Inactive : Transferts multiples 2013-08-06
Inactive : Transferts multiples 2013-08-01
Inactive : CIB attribuée 2013-02-04
Inactive : CIB expirée 2013-01-01
Inactive : CIB enlevée 2012-12-31
Inactive : Page couverture publiée 2009-11-03
Inactive : Acc. récept. de corrections art.8 Loi 2009-10-30
Inactive : Correction selon art.8 Loi demandée 2009-08-18
Lettre envoyée 2009-03-11
Accordé par délivrance 2009-01-20
Inactive : Page couverture publiée 2009-01-19
Préoctroi 2008-10-30
Inactive : Taxe finale reçue 2008-10-30
Inactive : CIB en 1re position 2008-05-20
Inactive : CIB attribuée 2008-05-20
Inactive : CIB attribuée 2008-05-20
Inactive : CIB attribuée 2008-05-20
Inactive : CIB enlevée 2008-05-20
Inactive : CIB enlevée 2008-05-20
Un avis d'acceptation est envoyé 2008-05-20
Un avis d'acceptation est envoyé 2008-05-20
Lettre envoyée 2008-05-20
Inactive : Approuvée aux fins d'acceptation (AFA) 2008-05-12
Modification reçue - modification volontaire 2008-01-28
Inactive : Dem. de l'examinateur par.30(2) Règles 2007-07-26
Exigences relatives à une correction d'un inventeur - jugée conforme 2006-03-16
Modification reçue - modification volontaire 2005-02-21
Inactive : Correspondance - Formalités 2005-02-21
Inactive : Dem. de l'examinateur par.30(2) Règles 2004-08-20
Inactive : Dem. de l'examinateur art.29 Règles 2004-08-20
Inactive : Lettre officielle 2004-08-12
Demande de retrait d'un rapport d'examen reçue 2004-08-12
Inactive : Dem. de l'examinateur par.30(2) Règles 2004-07-16
Inactive : Dem. de l'examinateur art.29 Règles 2004-07-16
Modification reçue - modification volontaire 2004-07-09
Modification reçue - modification volontaire 2004-04-16
Modification reçue - modification volontaire 2004-02-12
Lettre envoyée 2003-10-07
Requête d'examen reçue 2003-09-12
Exigences pour une requête d'examen - jugée conforme 2003-09-12
Toutes les exigences pour l'examen - jugée conforme 2003-09-12
Inactive : Page couverture publiée 2000-04-30
Demande publiée (accessible au public) 2000-04-30
Lettre envoyée 1999-03-25
Inactive : Transfert individuel 1999-03-02
Inactive : CIB attribuée 1999-01-07
Symbole de classement modifié 1999-01-07
Inactive : CIB attribuée 1999-01-07
Inactive : CIB en 1re position 1999-01-07
Inactive : Lettre de courtoisie - Preuve 1998-12-15
Inactive : Certificat de dépôt - Sans RE (Anglais) 1998-12-10
Exigences de dépôt - jugé conforme 1998-12-10
Demande reçue - nationale ordinaire 1998-12-10

Historique d'abandonnement

Il n'y a pas d'historique d'abandonnement

Taxes périodiques

Le dernier paiement a été reçu le 2008-10-30

Avis : Si le paiement en totalité n'a pas été reçu au plus tard à la date indiquée, une taxe supplémentaire peut être imposée, soit une des taxes suivantes :

  • taxe de rétablissement ;
  • taxe pour paiement en souffrance ; ou
  • taxe additionnelle pour le renversement d'une péremption réputée.

Veuillez vous référer à la page web des taxes sur les brevets de l'OPIC pour voir tous les montants actuels des taxes.

Historique des taxes

Type de taxes Anniversaire Échéance Date payée
Taxe pour le dépôt - générale 1998-10-30
Enregistrement d'un document 1998-10-30
TM (demande, 2e anniv.) - générale 02 2000-10-30 2000-09-25
TM (demande, 3e anniv.) - générale 03 2001-10-30 2001-10-02
TM (demande, 4e anniv.) - générale 04 2002-10-30 2002-07-30
TM (demande, 5e anniv.) - générale 05 2003-10-30 2003-08-08
Requête d'examen - générale 2003-09-12
TM (demande, 6e anniv.) - générale 06 2004-11-01 2004-10-13
TM (demande, 7e anniv.) - générale 07 2005-10-31 2005-08-24
TM (demande, 8e anniv.) - générale 08 2006-10-30 2006-08-24
TM (demande, 9e anniv.) - générale 09 2007-10-30 2007-10-16
Taxe finale - générale 2008-10-30
TM (demande, 10e anniv.) - générale 10 2008-10-30 2008-10-30
Enregistrement d'un document 2009-02-02
2009-08-18
TM (brevet, 11e anniv.) - générale 2009-10-30 2009-10-27
TM (brevet, 12e anniv.) - générale 2010-11-01 2010-10-15
TM (brevet, 13e anniv.) - générale 2011-10-31 2011-10-04
TM (brevet, 14e anniv.) - générale 2012-10-30 2012-10-15
Enregistrement d'un document 2013-08-01
Enregistrement d'un document 2013-08-06
TM (brevet, 15e anniv.) - générale 2013-10-30 2013-09-30
Annulation de la péremption réputée 2014-10-30 2014-12-08
TM (brevet, 16e anniv.) - générale 2014-10-30 2014-12-08
TM (brevet, 17e anniv.) - générale 2015-10-30 2015-10-26
TM (brevet, 18e anniv.) - générale 2016-10-31 2016-10-24
TM (brevet, 19e anniv.) - générale 2017-10-30 2017-09-27
Titulaires au dossier

Les titulaires actuels et antérieures au dossier sont affichés en ordre alphabétique.

Titulaires actuels au dossier
SMART TECHNOLOGIES ULC
Titulaires antérieures au dossier
TACO VAN IEPEREN
Les propriétaires antérieurs qui ne figurent pas dans la liste des « Propriétaires au dossier » apparaîtront dans d'autres documents au dossier.
Documents

Pour visionner les fichiers sélectionnés, entrer le code reCAPTCHA :



Pour visualiser une image, cliquer sur un lien dans la colonne description du document. Pour télécharger l'image (les images), cliquer l'une ou plusieurs cases à cocher dans la première colonne et ensuite cliquer sur le bouton "Télécharger sélection en format PDF (archive Zip)" ou le bouton "Télécharger sélection (en un fichier PDF fusionné)".

Liste des documents de brevet publiés et non publiés sur la BDBC .

Si vous avez des difficultés à accéder au contenu, veuillez communiquer avec le Centre de services à la clientèle au 1-866-997-1936, ou envoyer un courriel au Centre de service à la clientèle de l'OPIC.


Description du
Document 
Date
(aaaa-mm-jj) 
Nombre de pages   Taille de l'image (Ko) 
Dessin représentatif 2000-04-26 1 11
Page couverture 2000-04-26 1 39
Abrégé 1998-10-30 1 22
Description 1998-10-30 14 567
Revendications 1998-10-30 4 133
Dessins 1998-10-30 3 91
Dessins 2004-04-16 3 251
Revendications 2004-07-09 21 948
Description 2004-07-09 22 1 041
Description 2005-02-21 22 966
Revendications 2005-02-21 21 808
Description 2008-01-28 24 1 059
Revendications 2008-01-28 22 873
Dessin représentatif 2008-12-23 1 133
Page couverture 2008-12-23 2 171
Page couverture 2009-10-30 3 107
Certificat de dépôt (anglais) 1998-12-10 1 163
Courtoisie - Certificat d'enregistrement (document(s) connexe(s)) 1999-03-25 1 117
Rappel de taxe de maintien due 2000-07-04 1 109
Rappel - requête d'examen 2003-07-02 1 112
Accusé de réception de la requête d'examen 2003-10-07 1 173
Avis du commissaire - Demande jugée acceptable 2008-05-20 1 165
Courtoisie - Certificat d'enregistrement (document(s) connexe(s)) 1999-03-25 1 101
Courtoisie - Certificat d'enregistrement (document(s) connexe(s)) 2013-08-20 1 103
Courtoisie - Certificat d'enregistrement (document(s) connexe(s)) 2013-09-18 1 103
Avis concernant la taxe de maintien 2014-12-08 1 170
Quittance d'un paiement en retard 2014-12-08 1 163
Quittance d'un paiement en retard 2014-12-08 1 163
Correspondance 1998-12-15 1 31
Taxes 2003-08-08 1 46
Taxes 2001-10-02 1 52
Taxes 2000-09-25 1 50
Taxes 2002-07-30 1 60
Correspondance 2004-08-12 1 15
Taxes 2004-10-13 1 42
Correspondance 2005-02-21 4 139
Taxes 2005-08-24 1 52
Taxes 2006-08-24 1 50
Taxes 2007-10-16 1 64
Correspondance 2008-10-30 1 59
Taxes 2008-10-30 1 58
Correspondance 2009-08-18 6 186
Taxes 2009-10-27 1 64
Taxes 2010-10-15 1 67
Taxes 2011-10-04 1 62
Paiement de taxe périodique 2017-09-27 3 103