(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-06
(45)【発行日】2024-03-14
(54)【発明の名称】情報処理装置、カーソル移動管理方法、及びカーソル移動管理プログラム
(51)【国際特許分類】
G06F 3/04812 20220101AFI20240307BHJP
G06F 3/038 20130101ALI20240307BHJP
G09G 5/00 20060101ALI20240307BHJP
G09G 5/08 20060101ALI20240307BHJP
【FI】
G06F3/04812
G06F3/038 350D
G09G5/00 510V
G09G5/08 N
(21)【出願番号】P 2022130029
(22)【出願日】2022-08-17
【審査請求日】2022-08-17
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100112737
【氏名又は名称】藤田 考晴
(74)【代理人】
【識別番号】100136168
【氏名又は名称】川上 美紀
(74)【代理人】
【識別番号】100140914
【氏名又は名称】三苫 貴織
(74)【代理人】
【識別番号】100172524
【氏名又は名称】長田 大輔
(72)【発明者】
【氏名】塚本 泰史
(72)【発明者】
【氏名】森 英俊
【審査官】西村 民男
(56)【参考文献】
【文献】特開2022-065342(JP,A)
【文献】特開2021-111011(JP,A)
【文献】特開2020-140474(JP,A)
【文献】特開2019-079450(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01, 3/033-3/039,
3/048-3/04895
G09G 5/00 -5/42
(57)【特許請求の範囲】
【請求項1】
マルチディスプレイ機能を有する情報処理装置であって、
複数のディスプレイの各々の画素密度を取得する情報取得手段と、
各前記ディスプレイの画素密度に基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出する算出部と、
算出した係数をポインティングデバイスに通知する通知部と
を具備し、
マルチディスプレイ機能の利用時に複数のディスプレイ間におけるカーソル移動速度を一定とするカーソル速度統一モードを有し、
ポインティングデバイス毎に前記カーソル速度統一モードを適用するか否かが設定可能とされている情報処理装置。
【請求項2】
マルチディスプレイ機能を有する情報処理装置であって、
複数のディスプレイの各々の画素密度を取得する情報取得手段と、
各前記ディスプレイの画素密度に基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出する算出部と、
算出した係数をポインティングデバイスに通知する通知部と
を具備し、
マルチディスプレイ機能の利用時において、複数の前記ディスプレイ間におけるカーソル移動速度を一定とするカーソル速度統一モードを有し、
ディスプレイ毎に前記カーソル速度統一モードを適用するか否かが設定可能とされている情報処理装置。
【請求項3】
マルチディスプレイ機能を有する情報処理装置であって、
複数のディスプレイの各々の画素密度を取得する情報取得手段と、
各前記ディスプレイの画素密度に基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出する算出部と、
算出した係数をポインティングデバイスに通知する通知部と
を具備し、
前記ディスプレイの画素密度を取得できない場合において、前記算出部は、ディスプレイ毎にユーザによる前記ポインティングデバイスの操作量に関するデータを蓄積し、前記ディスプレイ毎に蓄積したデータを統計的に処理することにより代表値をそれぞれ算出し、算出した代表値を用いて前記係数を算出する情報処理装置。
【請求項4】
前記算出部は、メインディスプレイの画素密度とサブディスプレイの画素密度との比率を前記係数として算出する請求項1から3のいずれかに記載の情報処理装置。
【請求項5】
カーソルがディスプレイを跨いで移動したことを検出するカーソル移動検出部を備え、
前記算出部は、カーソルがディスプレイを跨いで移動したことが検出される度に、カーソルが位置しているディスプレイの画素密度とメインディスプレイの画素密度との比率を前記係数として算出し、
前記通知部は、前記係数が更新される度に、最新の前記係数を前記ポインティングデバイスに通知する請求項1から3のいずれかに記載の情報処理装置。
【請求項6】
前記ポインティングデバイスを備え、
前記ポインティングデバイスは、前記係数を用いて、操作量に応じたカーソル移動量を補正し、補正後のカーソル移動量を通知する請求項1から3のいずれかに記載の情報処理装置。
【請求項7】
前記ポインティングデバイスを備え、
前記ポインティングデバイスは、最新の前記係数を用いて、操作量に応じたカーソル移動量を補正し、補正後のカーソル移動量を通知する請求項5に記載の情報処理装置。
【請求項8】
マルチディスプレイ機能の利用時に適用されるカーソル移動管理方法であって、
マルチディスプレイ機能の利用時に複数のディスプレイ間におけるカーソル移動速度を一定とするカーソル速度統一モードを有し、ポインティングデバイス毎に前記カーソル速度統一モードを適用するか否かが設定可能とされ、
複数のディスプレイの各々の画素密度を取得するステップと、
各前記ディスプレイの画素密度に基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出するステップと、
算出した係数をポインティングデバイスに通知するステップと
をコンピュータが実行するカーソル移動管理方法。
【請求項9】
マルチディスプレイ機能の利用時に適用されるカーソル移動管理方法であって、
マルチディスプレイ機能の利用時において、複数
のディスプレイ間におけるカーソル移動速度を一定とするカーソル速度統一モードを有し、ディスプレイ毎に前記カーソル速度統一モードを適用するか否かが設定可能とされ、
複数のディスプレイの各々の画素密度を取得するステップと、
各前記ディスプレイの画素密度に基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出するステップと、
算出した係数をポインティングデバイスに通知するステップと
をコンピュータが実行するカーソル移動管理方法。
【請求項10】
マルチディスプレイ機能の利用時に適用されるカーソル移動管理方法であって、
複数のディスプレイの各々の画素密度を取得するステップと、
各前記ディスプレイの画素密度に基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出するステップと、
前記ディスプレイの画素密度を取得できない場合において、ディスプレイ毎にユーザによるポインティングデバイスの操作量に関するデータを蓄積し、前記ディスプレイ毎に蓄積したデータを統計的に処理することにより代表値をそれぞれ算出し、算出した代表値を用いて前記係数を算出するステップと、
算出した係数を前記ポインティングデバイスに通知するステップと
をコンピュータが実行するカーソル移動管理方法。
【請求項11】
請求項8から10のいずれかに記載のカーソル移動管理方法をコンピュータに実行させるためのカーソル移動管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、カーソル移動管理方法、及びカーソル移動管理プログラムに関するものである。
【背景技術】
【0002】
例えば、パーソナルコンピュータなどの情報処理装置では、マウス、トラックポイント、タッチパッド等のポインティングデバイスをユーザが操作することにより、所望の入力操作を行うことができる。
一般的に、ポインティングデバイスによるカーソル移動速度は、コンピュータの設定画面において、ユーザが設定変更できるように構成されている。
また、ポインティングデバイス側でカーソル移動速度を設定できる技術も提案されている。例えば、特許文献1には、カーソル移動速度を段階的に切り換えるためのスイッチをマウスに設け、ユーザがスイッチを操作することで、カーソル速度を段階的に調整できる技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
情報処理装置に外部モニタを接続し、2つ以上のディスプレイに対して画面を表示させるマルチディスプレイ機能(拡張表示機能)が知られている。マルチディスプレイ機能を用いることにより、例えば、複数の表示画面をあたかも一つの大表示画面として取り扱うことが可能となり、拡大画像をユーザに提供することができる。また、複数のディスプレイに対してそれぞれ異なる画像を表示させることにより、多くの情報を同時にユーザに提供することができる。
【0005】
このようなマルチディスプレイ機能を利用している場合、ポインティングデバイスを同じスピードで動かしても画面の境界前後でカーソルのスピードが変わってしまうことがある。このような意図しない速度低下や速度上昇は、あたかも操作が妨害されているような違和感をユーザにもたらす可能性があり、ユーザエクスペリエンスが低下するおそれがある。
【0006】
上述したように、ポインティングデバイスによるカーソルの移動速度をユーザが変更する技術は提案されているが、マルチディスプレイ機能にこれらの技術を適用したとしても、ディスプレイが切り替わるたびにユーザによる速度変更の設定が必要となり、ユーザエクスペリエンスの低下は避けられない。
【0007】
本開示は、このような事情に鑑みてなされたものであって、ディスプレイを跨いでカーソルを移動させるときの速度変化を低減させることのできる情報処理装置、カーソル移動管理方法、及びカーソル移動管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様に係る情報処理装置は、マルチディスプレイ機能を有する情報処理装置であって、複数のディスプレイの各々の画素密度を取得する情報取得手段と、各前記ディスプレイの画素密度に基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出する算出部と、算出した係数をポインティングデバイスに通知する通知部とを備える。
【0009】
本開示の一態様に係るポインティングデバイスは、マルチディスプレイ機能を有する情報処理装置と通信可能に構成されたポインティングデバイスであって、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を前記情報処理装置から受け付け、前記係数を用いて、操作量に応じたカーソル移動量を補正し、補正後のカーソル移動量を前記情報処理装置に通知する。
【0010】
本開示の一態様に係るカーソル移動管理方法は、マルチディスプレイ機能の利用時に適用されるカーソル移動管理方法であって、複数のディスプレイの各々の画素密度を取得するステップと、各前記ディスプレイの画素密度に基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出するステップと、算出した係数をポインティングデバイスに通知するステップとをコンピュータが実行する。
【0011】
本開示の一態様に係るカーソル移動管理プログラムは、上記カーソル移動管理方法をコンピュータに実行させる。
【発明の効果】
【0012】
本開示によれば、ディスプレイを跨いでカーソルを移動させるときの速度変化を低減させることができるという効果を奏する。
【図面の簡単な説明】
【0013】
【
図1】本開示の一実施形態に係る情報処理装置の概略外観図である。
【
図2】本開示の一実施形態に係る情報処理装置のハードウェア構成の一例を示した概略構成図である。
【
図3】本開示の一実施形態に係る情報処理装置が有する機能のうち、カーソル移動管理に関する機能の一例を示した機能ブロック図である。
【
図4】本開示の一実施形態に係るメインディスプレイとサブディスプレイとの配置例を示した図である。
【
図5】本開示の一実施形態に係るカーソル移動管理方法の処理手順の一例を示したフローチャートであり、OSにより実現される処理の手順を示したフローチャートである。
【
図6】本開示の一実施形態に係るカーソル移動管理方法の処理手順の一例を示したフローチャートであり、ポインティングデバイスにより実現される処理の手順を示したフローチャートである。
【
図7】従来のカーソル移動管理方法を用いた場合のカーソル移動の一例を示した図である。
【
図8】本開示の一実施形態に係るカーソル移動管理方法を用いた場合のカーソル移動の一例を示した図である。
【発明を実施するための形態】
【0014】
以下に、本開示に係る情報処理装置、ポインティングデバイス、カーソル移動管理方法、及びカーソル移動管理プログラムの一実施形態について、図面を参照して説明する。情報処理装置の一例として、ノートPC、デスクトップ型PC、タブレット端末等が挙げられる。以下の実施形態では、情報処理装置1としてノートPCを例示して説明する。
【0015】
図1は、本開示の一実施形態に係る情報処理装置1の概略外観図である。
図1に示すように、情報処理装置1は、第1筐体2及び第2筐体3を備えている。第1筐体2と第2筐体3とは、連結部材8a、8bによって開閉可能に連結されている。
第1筐体2には、入力デバイス4(
図2参照)が設けられている。入力デバイス4は、ユーザが入力操作を行うためのユーザインターフェースである。本態様において、入力デバイス4は、キーボード5及びポインティングデバイス10(
図2参照)を備えている。
図1には、ポインティングデバイス10の一例として、タッチパッド6、ポインティング・スティック(例えば、トラックポイント等)7が示されている。
【0016】
第2筐体3には、画像を表示するディスプレイ15aが設けられている。本実施形態において、ディスプレイ15aは、LCD(Liquid Crystal Display)を例示するが、LCDに限らず有機EL(Electroluminescence)ディスプレイ等の他の表示機器、又はタッチパネルとされてもよい。LCDは、入力される表示データをビデオ信号に変換し、変換したビデオ信号に応じた各種情報を表示画面に表示する。
【0017】
図2は、本開示の一実施形態に係る情報処理装置1のハードウェアの概略構成の一例を示した図である。
図2に示すように、情報処理装置1は、ディスプレイ15a、入力デバイス4に加えて、例えば、CPU(Central Processing Unit)11、メインメモリ12、二次記憶装置13、外部インターフェース16、通信インターフェース17を備えている。これら各部は、バスを介して直接または間接的に接続されている。
【0018】
CPU11は、例えば、バスを介して接続された二次記憶装置13に格納されたOS(Operating System)により情報処理装置1全体の制御を行うとともに、二次記憶装置13に格納された各種プログラムを実行することにより後述するような各種処理を実行する。CPU11は、1つ又は複数設けられており、互いに協働して処理を実現してもよい。
【0019】
メインメモリ12は、例えば、キャッシュメモリ、RAM(Random Access Memory)等の書き込み可能なメモリで構成され、CPU11の実行プログラムの読み出し、実行プログラムによる処理データの書き込み等を行う作業領域として利用される。
【0020】
二次記憶装置13は、非一時的なコンピュータ読み取り可能な記録媒体(non-transitory computer readable storage medium)である。二次記憶装置13は、例えば、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリなどである。二次記憶装置13の一例として、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)フラッシュメモリなどが挙げられる。二次記憶装置13は、例えば、Windows(登録商標)、iOS(登録商標)、Android(登録商標)等の情報処理装置1全体の制御を行うためのOS、BIOS(Basic Input/Output System)、周辺機器類をハードウェア操作するための各種デバイスドライバ、各種アプリケーションソフトウェア、及び各種データやファイル等を格納する。また、二次記憶装置13には、各種処理を実現するためのプログラムや、各種処理を実現するために必要とされる各種データが格納されている。二次記憶装置13は、複数設けられていてもよく、各二次記憶装置13に上述したようなプログラムやデータが分割されて格納されていてもよい。
【0021】
外部インターフェース16は、外部機器と接続するためのインターフェースである。外部機器の一例として、外部モニタ、USBメモリ、外付けHDD、外付けカメラ等が挙げられる。なお、
図2に示した例では、外部インターフェース16は、1つしか図示されていないが、複数の外部インターフェース16を備えていてもよい。外部インターフェース16は、例えば、接続される機器に応じてそれぞれ適切な入出力端子およびインターフェースを備えている。後述するサブディスプレイ15bは、例えば、外部インターフェース16を介してCPU11等に接続される。
【0022】
通信インターフェース17は、ネットワークに接続して他の装置と通信を行い、情報の送受信を行うためのインターフェースとして機能する。例えば、通信インターフェース17は、有線又は無線により他の装置と通信を行う。無線通信として、Bluetooth(登録商標)、Wi-Fi、移動通信システム(3G、4G、5G、6G、LTE等)、無線LANなどの回線を通じた通信が挙げられる。有線通信の一例として、有線LAN(Local Area Network)などの回線を通じた通信が挙げられる。
【0023】
図3は、本実施形態に係る情報処理装置1が有する機能のうち、カーソル移動管理に関する機能の一例を示した機能ブロック図である。
図3に示すように、情報処理装置1は、カーソル移動管理部30を備えている。本実施形態において、OS20によってカーソル移動管理部30の機能が実現される。
【0024】
カーソル移動管理部30は、例えば、記憶部31、情報取得部32、カーソル移動検出部33、算出部34、通知部35を備えている。
【0025】
記憶部31には、マルチディスプレイを実現させるために必要な情報が格納されている。記憶部31には、例えば、複数のディスプレイの配置情報(以下「ディスプレイ配置情報」という。)が格納されている。本実施形態では、
図4に示すように、情報処理装置1のディスプレイ15aの右側に外部ディスプレイとしてのディスプレイ15bが配置され、マルチディスプレイ環境で使用される場合を例示して説明する。また、本実施形態では、ディスプレイ15aは「メインディスプレイ」として設定され、ディスプレイ15bは「サブディスプレイ」として設定されている場合を例示して説明する。以下、説明の便宜上、情報処理装置1のディスプレイ15aを「メインディスプレイ15a」、外部モニタとして接続されているディスプレイ15bを「サブディスプレイ15b」という。
【0026】
記憶部31には、左側にメインディスプレイ15aが、右側にサブディスプレイ15bが配置されているとの情報が格納されている。また、記憶部31には、メインディスプレイ15a、サブディスプレイ15bそれぞれの詳細情報が格納されている。詳細情報には、例えば、画素密度(DIP:Dots Per Inch)が含まれている。また、詳細情報には、画素数、アスペクト比、色深度、ガンマ値、輝度、同期周波数(リフレッシュレート)、機器のメーカー名、型番、個体識別番号(シリアルナンバー)、製造年、画面の物理サイズなどの情報が含まれていてもよい。
【0027】
例えば、記憶部31には、外部ディスプレイが接続された際に取得されるEDID(Extended Display Identification Data)、DisplayIDなどが格納される。なお、メインディスプレイ15a、サブディスプレイ15bの詳細情報の物理的な記憶領域は、特に限定されない。すなわち、これらの情報は、CPU11が取得可能な記憶領域に格納されていればよく、必ずしも同じ記憶媒体に格納されている必要はない。
また、記憶部31には、後述するように、前回カーソル位置が格納される。
【0028】
情報取得部32は、メインディスプレイ15a、サブディスプレイ15bの画素密度をそれぞれ取得する。例えば、情報取得部32は、記憶部31からメインディスプレイ15aの画素密度及びサブディスプレイ15bの画素密度を取得する。
【0029】
カーソル移動検出部33は、カーソルがディスプレイを跨いで移動したことを検出する。例えば、カーソル移動検出部33は、カーソルの前回位置と現在位置とを比較し、カーソルが前回位置していたディスプレイと、カーソルが現在位置しているディスプレイとが異なる場合に、カーソルがディスプレイを跨いで移動したことを検出する。
【0030】
算出部34は、メインディスプレイ15aの画素密度とサブディスプレイ15bの画素密度とに基づいて、複数のディスプレイ間におけるカーソル移動速度を統一させるための係数を算出する。例えば、算出部34は、メインディスプレイ15aの画素密度とサブディスプレイ15bの画素密度との比率を係数として算出する。本実施形態では、以下の(1)式のように、サブディスプレイ15bの画素密度をメインディスプレイの画素密度で除算することにより、係数を算出する。
【0031】
係数=サブディスプレイの画素密度/メインディスプレイの画素密度 (1)
【0032】
通知部35は、算出部34によって算出された係数をポインティングデバイス10に通知する。例えば、係数は、OS20からデバイスドライバ41を介してタッチパッド6に、デバイスドライバ42を介してポインティング・スティック7に通知される。
【0033】
タッチパッド6、ポインティング・スティック7は、係数を用いて、操作量に応じたカーソル移動量を補正し、補正後のカーソル移動量をOS20に通知する。
例えば、タッチパッド6、ポインティング・スティック7は、ユーザによる操作量に応じたカーソル移動量(例えば、カウンタ値)を生成する。カーソル移動量は、カーソルを現在の位置からどの方向にどれだけ移動させればよいかを指示する情報である。
【0034】
例えば、タッチパッド6であれば、指などの指示体の移動距離に基づくカーソル移動量が生成され、ポインティング・スティック7であれば、押圧力に基づくカーソル移動量が生成される。なお、カーソル移動量の具体的な生成手法については、公知の技術であるから、ここでの詳細な説明は省略する。
タッチパッド6、ポインティング・スティック7は、操作量に基づいて生成されたカーソル移動量をOS20から通知された係数を用いて補正する。そして、補正後のカーソル移動量をそれぞれのデバイスドライバ41、42を介してOS20に通知する。これにより、カーソル移動量に基づくカーソル移動制御が行われる。
【0035】
次に、本実施形態に係る情報処理装置1によって実行されるカーソル移動管理方法について、
図5及び
図6を参照して説明する。
図5は、本実施形態に係るカーソル移動管理方法の処理手順の一例を示したフローチャートであり、例えば、OS20により実現される処理である。
図6は、本実施形態に係るカーソル移動管理方法の処理手順の一例を示したフローチャートであり、例えば、ポインティングデバイス10、例えば、タッチパッド6、ポインティング・スティック7のそれぞれにより実現される処理である。
【0036】
以下に説明する一連の処理は、マルチディスプレイ環境で使用されている場合に実行され、それぞれ所定の時間間隔で繰り返し実行される。また、記憶部31には、上述したようなメインディスプレイ15a、サブディスプレイ15bそれぞれの詳細情報が格納されているものとする。
以下、OS20によって実行される処理の一例について
図5を用いて説明し、その後、ポインティングデバイス10において実行される処理の一例について
図6を用いて説明する。
【0037】
まず、カーソル移動管理部30は、前回のカーソル位置を記憶部31から読み出すとともに(
図5のSA1)、現在のカーソル位置を取得する(SA2)。続いて、前回のカーソル位置と現在のカーソル位置とに基づいて、カーソルがディスプレイ間を跨いだか否かを判定する(SA3)。すなわち、メインディスプレイ15aに位置していたカーソルがサブディスプレイ15bに移動したか、又は、サブディスプレイ15bに位置していたカーソルがメインディスプレイ15aに移動したかを判定する。この結果、カーソルがディスプレイ間を跨いでいなければ(SA3:NO)、ステップSA6に移行する。
【0038】
一方、カーソルがディスプレイ間を跨いでいた場合には(SA3:YES)、現在カーソルが位置するディスプレイの画素密度DPI_preとメインディスプレイ15aの画素密度DPI_mainとを用いて係数を算出する(SA4)。具体的には、以下の(2)式を用いて、係数を算出する。
【0039】
係数=DPI_pre/DPI_main (2)
【0040】
この結果、カーソルがメインディスプレイ15aからサブディスプレイ15bに移動した場合には、上記(2)式に基づく係数が算出され、カーソルがサブディスプレイ15bからメインディスプレイ15aに移動した場合には、係数=1が算出される。
【0041】
続いて、ステップSA4で算出した最新の係数をデバイスドライバ41、42を介してポインティング・スティック7またはタッチパッド6に通知する(SA5)。
タッチパッド6、ポインティング・スティック7は、OS20から最新の係数が通知されると、通知された係数を所定の記憶部(図示略)に格納し、係数を最新の値に更新する。
【0042】
続いて、現在のカーソル位置を記憶部31に保存し(SA6)、本処理を終了する。これにより、次の処理サイクルのステップSA1では、今回の処理サイクルのステップSA6で記憶部31に格納されたカーソル位置が前回のカーソル位置として読み出されることとなる。
【0043】
次に、ポインティングデバイス10によって実行される処理について、
図6を参照して説明する。以下の一例の処理は、例えば、ポインティングデバイス10を構成するタッチパッド6、ポインティング・スティック7のそれぞれに対応するファームウェアにより実現される。
【0044】
また、以下の処理は、マルチディスプレイ環境で使用されている場合に実行され、所定の時間間隔で繰り返し実行される。また、所定の記憶部(図示略)には、OS20から通知された最新の係数が格納されている。
【0045】
まず、操作量を検出し(
図6のSB1)、操作量に基づいてカーソル移動量を生成する(SB2)。続いて、カーソル移動量を記憶部に格納されている最新の係数で補正する(SB3)。これにより、例えば、カーソルがメインディスプレイ15aに表示されている場合には、係数=1を用いてカーソル移動量が生成される(すなわち、この場合には、カーソル移動量は操作量に基づくものとなる)。一方、カーソルがサブディスプレイ15bに表示されている場合には、係数=サブディスプレイ15bの画素密度/メインディスプレイ15aの画素密度を用いてカーソル移動量が補正される。
続いて、補正後のカーソル移動量をOS20に通知する(SB4)。これにより、OS20において、ポインティングデバイス10から通知されたカーソル移動量に基づくカーソル移動制御が行われる。
【0046】
以上説明したように、本実施形態に係る情報処理装置1、ポインティングデバイス10、カーソル移動管理方法、及びカーソル移動管理プログラムによれば、例えば、OS20において、複数のディスプレイの画素密度に基づいてディスプレイ間におけるカーソル移動速度を統一させるための係数を算出し、算出した係数をポインティングデバイス10に通知する。具体的には、カーソルがディスプレイを跨いで移動したことが検出された場合に、カーソル移動先のディスプレイの画素密度とメインディスプレイの画素密度との比率を係数として算出する。これにより、例えば、カーソルがメインディスプレイ15aからサブディスプレイ15bに移動した場合には、係数(=サブディスプレイの画素密度/メインディスプレイの画素密度)が算出され、デバイスドライバ41、42を介してタッチパッド6、ポインティング・スティック7に通知される。同様に、カーソルがサブディスプレイ15bからメインディスプレイ15aに移動した場合には、係数(=1)が算出され、デバイスドライバ41、42を介してタッチパッド6、ポインティング・スティック7に通知される。
【0047】
タッチパッド6、ポインティング・スティック7では、操作量に基づくカーソル移動量をOS20から通知された最新の係数に基づいて補正し、補正後のカーソル移動量をOS20に通知する。OS20は、通知されたカーソル移動量に基づいてカーソルを移動させる。
【0048】
このように、カーソルがディスプレイを跨いで移動したことを検出し、ポインティングデバイス10における内部処理で用いる係数を変更することによって自動的にカーソルの速度調整を行うので、ディスプレイを跨いでカーソルを移動させるときの速度変化を低減させることができる。
【0049】
例えば、従来のカーソル移動管理方法では、カーソルをメインディスプレイ15aからサブディスプレイ15b(メインディスプレイ15aの画素密度<メインディスプレイ15aの画素密度)に移動させた場合、サブディスプレイ15bにおけるカーソルの移動速度が遅くなり、
図7に示すように、ユーザが当初予定していた位置TGまでカーソルを移動させることができない可能性があった。
【0050】
これに対して、本実施形態に係るカーソル移動管理方法を適用した場合には、ディスプレイの画素密度に応じた係数を用いてカーソル移動量を補正するので、カーソルの移動速度の変化を低減できる。これにより、
図8に示すように、カーソルをメインディスプレイ15aからサブディスプレイ15b(メインディスプレイ15aの画素密度<メインディスプレイ15aの画素密度)に移動させた場合でもユーザの所望の位置まで違和感なくカーソルを移動させることができ、ユーザの意思に沿ったスムーズなカーソル移動を実現することが可能となる。
【0051】
以上、本開示について実施形態を用いて説明したが、本開示の技術的範囲は上記実施形態に記載の範囲には限定されない。本開示の要旨を逸脱しない範囲で上記実施形態に多様な変更又は改良を加えることができ、該変更又は改良を加えた形態も本開示の技術的範囲に含まれる。
【0052】
また、上記実施形態で説明した制御フローも一例であり、本開示の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0053】
例えば、上述した実施形態では、カーソルがディスプレイを跨いで移動したことが検出される度に、カーソルが位置しているディスプレイ、すなわち、移動先のディスプレイの画素密度とメインディスプレイ15aの画素密度との比率を係数として算出し、係数を更新していたが、この例に限られない。例えば、係数の初回算出時において、ディスプレイの識別情報と係数とを記憶部31に関連付けて格納しておき、以降は、ディスプレイを跨いでカーソルが移動したことが検出された場合には、カーソル移動先のディスプレイに関連付けられている係数を記憶部31から読み出して、ポインティングデバイス10に通知することとしてもよい。
【0054】
また、上述した実施形態では、ポインティングデバイス10において、係数を用いたカーソル移動量の補正を行っていたがこれに限られない。例えば、ポインティングデバイス10に代えて、各ポインティングデバイス10に対応するデバイスドライバにカーソル移動量を補正する機能を設けることとしてもよい。
【0055】
また、上述の実施形態では、情報処理装置1に搭載されたポインティングデバイス10によってカーソル操作を行う場合を例示して説明したが、この例に限られない。例えば、ポインティングデバイス10は、外部インターフェース16や通信インターフェース17を介して接続されるポインティングデバイスでもよい。ポインティングデバイス10の一例として、マウス、トラックボールなどが挙げられる。この場合も外部機器として接続されるポインティングデバイス10において、例えば、
図6に示した一連の処理、換言すると、係数を用いたカーソル移動量の補正を実行させることにより、ディスプレイ間におけるカーソルの移動速度の変化を低減させるという効果を奏することが可能となる。
【0056】
また、上述したカーソル移動速度を一定とする制御を行うか否かをユーザが設定可能な構成としてもよい。また、この設定をポインティングデバイス毎に行うことが可能な構成としてもよい。
【0057】
例えば、マルチディスプレイの利用時に、複数のディスプレイ間におけるカーソル移動速度を一定とするカーソル速度統一モードを設ける。そして、ポインティングデバイス毎に速度一定モードを適用するか否かを設定する設定メニューを設け、ユーザが適用の要否を設定する構成としてもよい。また、カーソル速度統一モードをディスプレイ毎に設定できるような構成としてもよい。
【0058】
また、ディスプレイ上で起動しているアプリケーションの種類に応じて設定可能な構成としてもよい。例えば、精細な作業を行いたい場合など、カーソル移動速度を意図的に遅く設定したい場合がある。このような場合に、アプリケーション毎にカーソル速度統一モードを適用するか否かを設定することにより、ユーザの好みに応じてより細やかなカーソルの移動制御を行うことが可能となる。
【0059】
また、上述した実施形態では、外部ディスプレイが接続された場合に、外部ディスプレイの画素密度等の詳細情報を取得することとしたが、ディスプレイの機種によっては、画素密度を取得できない場合がある。この場合には、例えば、ディスプレイ毎にユーザによるポインティングデバイス10の操作量に関するデータを用いて係数を算出することとしてもよい。
【0060】
例えば、メインディスプレイ15aとサブディスプレイ15bとの画素密度が異なる場合、その画素密度の違いは、ユーザによるポインティングデバイス10の操作の違いに現れる可能性が高い。例えば、メインディスプレイ15aに対して画素密度の高いサブディスプレイが接続された場合、画素密度が高くなった分、ユーザは操作量を増やす必要がある。例えば、ユーザの操作量の変化は、マウスの移動速度、ポインティング・スティックの押圧力の変化量、タッチパッドへの指示体の移動速度として現れる。
【0061】
したがって、ユーザの操作量に関するデータをディスプレイ毎に蓄積し、ディスプレイ毎に蓄積したデータを統計的に処理することにより代表値(例えば、平均値)をそれぞれ算出し、算出した代表値をディスプレイの画素密度の代替値として用いて係数を算出することとしてもよい。これにより、外部ディスプレイの画素密度を取得できない場合でもディスプレイを跨いだときのカーソルの移動速度を低減させるという効果を得ることが可能となる。
【0062】
また、上述した実施形態では、外部ディスプレイから通知される画素密度等の詳細情報を記憶部31に記憶し、情報取得部32は、記憶部31から画素密度を取得する場合を例示したが、これに限られない。例えば、画素密度については、演算によって取得することとしてもよい。例えば、記憶部31に外部ディスプレイの画素数と画面の物理サイズ(寸法)とを用いて演算によって取得することとしてもよい。
【符号の説明】
【0063】
1 :情報処理装置
4 :入力デバイス
6 :タッチパッド
7 :スティック
10 :ポインティングデバイス
11 :CPU
12 :メインメモリ
13 :二次記憶装置
15a :ディスプレイ(メインディスプレイ)
15b :ディスプレイ(サブディスプレイ)
16 :外部インターフェース
17 :通信インターフェース
20 :OS
30 :カーソル移動管理部
31 :記憶部
32 :情報取得部
33 :カーソル移動検出部
34 :算出部
35 :通知部
41 :デバイスドライバ
42 :デバイスドライバ