JP6435025B1 - コンピュータ、無線キーボードおよびブート方法 - Google Patents

コンピュータ、無線キーボードおよびブート方法 Download PDF

Info

Publication number
JP6435025B1
JP6435025B1 JP2017142316A JP2017142316A JP6435025B1 JP 6435025 B1 JP6435025 B1 JP 6435025B1 JP 2017142316 A JP2017142316 A JP 2017142316A JP 2017142316 A JP2017142316 A JP 2017142316A JP 6435025 B1 JP6435025 B1 JP 6435025B1
Authority
JP
Japan
Prior art keywords
controller
wireless
wireless controller
blth
keyboard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017142316A
Other languages
English (en)
Other versions
JP2019023777A (ja
Inventor
大作 森田
大作 森田
友一 重松
友一 重松
森 英俊
森  英俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2017142316A priority Critical patent/JP6435025B1/ja
Application granted granted Critical
Publication of JP6435025B1 publication Critical patent/JP6435025B1/ja
Publication of JP2019023777A publication Critical patent/JP2019023777A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】無線キーボードでラップトップPCをブートさせる。【解決手段】ラップトップPC10が搭載するBLTHコントローラ27は、無線キーボード50が搭載するBLTHコントローラと通信する。ラップトップPC10は、停止状態に遷移している間にBLTHコントローラ27に電源を供給する。BLTHコントローラ27は接続状態に遷移する前に、アドバタイジング状態の無線キーボード50が送信したパケットを受信して解析する。パケットには、BLTHコントローラ27に起動信号を生成させるための起動フラグが設定されている。起動フラグを検出したBLTHコントローラ27はラップトップPC10の電源を起動する。無線キーボード50がアドバタイジング状態で送信するパケットには、さらにBLTHコントローラ27にブート中に待受画面を表示するための動作をさせるキー・フラグを設定することもできる。【選択図】図1

Description

本発明は、無線で通信する周辺デバイスでコンピュータをブートする技術に関し、さらには、ブート中のコンピュータに対して当該周辺デバイスによる入力を可能にする技術に関する。
ラップトップ型コンピュータやタブレット端末などのコンピュータの中には、筐体に実装するキーボードの他に、無線接続のキーボード(無線キーボード)から入力できるものがある。このとき無線通信の規格として、Bluetooth(登録商標:以下、BLTHとして示す)が採用することがある。
特許文献1は、USBデバイス・サーバ・システムを開示する。同文献には、クライアント(PC)に対して無線周辺デバイスをUSBデバイスとして擬制することで無線周辺デバイスのデバイス・サーバ・システムを構築することを記載する。特許文献2は、SCSIとOBEXの2つのプロトコルに対応するTransferjet機器とUSBホスト装置を接続するUSBドングルを開示する。特許文献3は、ホスト・コントローラと、BLTHプロファイル・スタック群およびBLTHドライバで構成されたホストを搭載するBLTH機能搭載電子機器を開示する。
特開2014−99722号公報 特開2014−139805号公報 特開2004−328151号公報
BLTH機能は、中心ノードとなるセントラルと端末ノードとなるペリフェラルがいずれもBLTHコントローラというハードウェアとホストというソフトウェアで構成されている。ホストは、BLTH通信を制御するプロトコル・スタックやBLTHドライバを含む。ホストはBLTHコントローラのファームウェアに組み込む場合もあるが、BLTHコントローラは各国の無線の認可が必要なため、BLTHコントローラとホストを分離した方が開発し易いという事情もある。ラップトップ型パーソナル・コンピュータやタブレット端末のようなオペレーティング・システム(OS)を搭載するコンピュータでは、通常ホストをOSに組み込んでいる。
BLTH通信のペリフェラルとなる無線キーボードは、BLTH通信でスキャン・コードをシステムに送る。システムがコンピュータに実装されたキーボードと同じようにスキャン・コードを処理するためには、OSがロードされてホストが機能している必要がある。コンピュータがパワーオフ状態やブート中の間はホストが機能しないため、システムは無線キーボードが送ったスキャン・コードの処理ができない。
コンピュータが停止しているときは無線キーボードの電源を停止していることが多い。したがって無線キーボードの電源を起動するときは、コンピュータの電源も同時に起動したい場合が多い。しかし、無線キーボードでパワーオフ状態のコンピュータに起動信号を送っても、ホストが機能していないためコンピュータはそれを認識できない。そのため、無線キーボードでは、コンピュータの電源を起動することや、ブート中の画面に入力することはできない。BLTH通信を例示して無線キーボードによるブートに関する問題を説明したが、本発明の特定の態様においては、無線通信規格をBLTHに限定したり、無線キーボードに限定したりする必要はない。本発明の目的は、無線周辺デバイスが、コンピュータにブートに関連する動作をさせることにある。
本発明の一の態様は、第1の無線コントローラを備える周辺デバイスと通信することが可能なコンピュータを提供する。コンピュータは、停止状態のときに第1の無線コントローラから受け取ったパケットが含む所定のデータを検出して生成した起動信号を出力する第2の無線コントローラと、起動信号に応じてコンピュータに電力を供給する電源ユニットを有する。
本発明の他の態様は、第1の無線コントローラを搭載する無線キーボードと通信して第2の無線コントローラを搭載するコンピュータがブートする方法を提供する。この方法では、第1の無線コントローラと第2の無線コントローラが接続準備状態のときに、第2の無線コントローラが第1の無線コントローラから受け取ったパケットを解析し、パケットから所定のデータを検出したときに、第2の無線コントローラがブートに関連する所定の動作をする。所定の動作は、コンピュータの電源を起動する動作および待受画面を表示するためのスキャン・コードを生成してブート中のシステム・ファームウェアに送る動作とすることができる。
本発明のさらに他の態様は、ブルートゥース(登録商標)規格の第1の無線コントローラを備え起動信号に応じて電源を起動するコンピュータに入力することが可能な無線キーボードを提供する。無線キーボードは、キー・スイッチを含むキー・アセンブリと、キー・スイッチに対応するスキャン・コードを出力するキーボード・コントローラと、アドバタイジング状態で通信する第1の無線コントローラに起動信号を生成させるための所定のデータを含む第1のパケットを出力する第2の無線コントローラとを有する。
本発明のさらに他の態様は、ブルートゥース(登録商標)規格の第1の無線コントローラを備え起動信号に応じて電源を起動するコンピュータを、第1の無線コントローラと通信することが可能な第2の無線コントローラを備える無線キーボードがブートさせる方法を提供する。この方法では、無線キーボードがユーザから所定の入力を受け取り、所定の入浴に応じて第2の無線コントローラが、第1の無線コントローラにブートに関連する所定の動作をさせるための所定のデータを含む第1のパケットをアドバタイジング状態で出力する。
本発明の特定の態様により、無線で通信する周辺デバイスがコンピュータにブートに関連する所定の動作をさせることができた。本発明の他の態様により、無線で通信する周辺デバイスが停止状態のコンピュータを起動することができた。さらに本発明の他の態様により無線で通信する周辺デバイスが、ブート中のコンピュータに待受画面を表示することができた。さらに本発明の他の態様により、無線で通信する周辺デバイスがブート中のコンピュータに任意のキーを入力することができた。
ラップトップPC10の概略の構成を示す機能ブロック図である。 BLTH系統のデータ転送に関連するハードウェア構成を説明するための図である。 UEFIファームウェア26の概略の構成を説明するための図である。 BLTH系統のデータ転送に関連するソフトウェア構成を説明するための図である。 無線キーボード50の概略の構成を示す機能ブロック図である。 BLTHコントローラ27、301の動作状態を説明するための状態遷移図である。 パワーオフ状態のラップトップPC10が無線キーボード50と通信してブートする手順を示すフローチャートである。 アドバタイジング状態で送信する特別なパケット700を説明するための図である。
[ラップトップPC]
図1は、本実施の形態にかかるラップトップPC10の概略の構成を示す機能ブロック図である。本明細書に添付する図面に記載する同一および同等の要素には同一の参照番号を付与して重複した説明を省略または簡略化することにする。一例として示したインテル(登録商標)社で提供するPCH(Platform Controller Hub)というチップ・セット19には、CPU11、SSD21、WLANの無線モジュール23、ファームウェアROM25、BLTHコントローラ27およびエンベデッド・コントローラ(EC)29などが接続されている。
CPU11には、ビデオ・カード15およびシステム・メモリ13が接続されている。ビデオ・カード15にはタッチスクリーン17が接続されている。タッチスクリーン17は、ビデオ・カード15に接続されたディスプレイと入力コントローラに接続されたタッチパネルで構成している。タッチスクリーン17には、ソフトウェア・キーボードを表示することもできる。
チップ・セット19は、基本的なバスとして一例においてPCI Express(PCIe)を採用し、USB、SPI、SATA Express、イーサネット(登録商標)などのインターフェース・コントローラを含んでいる。ファームウェアROM25は、BIOSまたはUEFIといったようなシステム・ファームウェアを格納する。BLTHコントローラ27は、無線キーボード50、およびマウス、ヘッドフォン、およびスマートフォンのような他の無線周辺デバイス35とBLTH通信をするハードウェアである。
EC29は、CPU、RAMおよびファームウェアを格納するROMなどで構成されたマイクロ・コンピュータで、CPU11から独立して動作してラップトップPC10の電源や温度を管理する。EC29はまた、タッチパネルやキーボード32の入力を処理する入力コントローラを含む。EC29には、電源ユニット31、キーボード32およびパワー・ボタン(PB)33が接続されている。
ラップトップPC10は、ハードウェア・キーボードとして無線キーボード50だけを利用することでもよいが、本実施の形態では無線キーボード50の動作を説明する便宜上構成要素に含めている。電源ユニット31は、電池ユニット、充電器、およびDC/DCコンバータなどで構成している。DC/DCコンバータは、EC29からの指示に応じて、パワー・ステートに応じて動作するデバイスに電力を供給する。PB33は押下されたときに、電源ユニット31に起動信号を出力する。
[ラップトップPC10のパワー・ステート]
ラップトップPC10は一例においてACPIが規定するパワーオフ状態(S5ステート)、ハイバネーション状態(S4ステート)、サスペンド状態(S3ステート)およびパワーオン状態(S0ステート)のパワー・ステートをサポートする。ラップトップPC10は、パワーオン状態のときにOSがソフトウェア上の所定の処理をしてからチップ・セット19を通じてEC29に遷移先の指示をすると、パワーオフ状態、ハイバネーション状態、またはサスペンド状態のいずれかに遷移する。以後、これらの3つの状態を総称するときは停止状態ということにする。
ラップトップPC10は、停止状態のときにPB33の押下により、EC29に起動信号が入力されるとパワーオン状態に遷移する。停止状態においてEC29は、パワーオン状態に遷移させるために必要なデバイスや通信に必要な最低限のデバイスを除いてほとんどのデバイスに対する電力の供給を停止する。本実施の形態では、停止状態で少なくともEC29の電源起動回路、およびBLTHコントローラ27に電力が供給される。
BLTHコントローラ27は、ライン28でEC29の電源起動回路に接続されライン30でチップ・セット19に接続されている。ライン28は、BLTHコントローラ27が接続状態(図6)に遷移する前に無線キーボード50から特別なパケットを受け取ったときにEC29に起動信号を出力する。ライン28は、PB33とOR回路でEC29の電源起動回路に接続するようにしてもよい。
ライン30はBLTHコントローラ27が接続状態に遷移する前に無線キーボード50から特別なパケットを受け取ったことに応じてBLTHコントローラ27が生成した特定のキーのスキャン・コードをチップ・セット19に出力する。ライン30はまたBLTHコントローラ27が接続状態に遷移したあとに、無線キーボード50から受け取ったデータ通信パケットが搬送するスキャン・コードをチップ・セット19に出力する。後に説明するように本実施の形態では無線キーボード50とBLTHコントローラ27はブート中に接続状態に遷移することができる。
[BLTH系統のハードウェア]
図2は、BLTH系統のデータ転送に関連するハードウェア構成を説明するための図である。BLTHコントローラ27は、物理層101、リンク層103、BLTH/USB変換層105、およびHCI107を含んでいる。物理層101は、ベースバンド信号と高周波信号を双方向に変換する無線通信高周波回路に相当する。リンク層103は、パケットの構築と解読、CRC巡回冗長チェックサムによる誤り検出、および暗号化などの無線通信物理リンクの管理を行う。
BLTH/USB変換層105は、OS213(図4)の実行環境で無線キーボード50から受け取ったBLTHプロトコルのデータをUSBプロトコルのデータに変換して上位層に送る。BLTHコントローラ27がUEFIファームウェア26の実行環境で接続された無線キーボード50およびOS213の実行環境で接続された無線周辺デバイス35からから受け取ったBLTHプロトコルのデータは、リンク層103がHCI107に渡す。
HCI107は、USBホスト・コントローラ109と通信するためのインターフェースを提供する。HCI107は、USBに代えてUARTやSDIOといった他の規格のインターフェースを採用してもよい。USBホスト・コントローラ109はルートハブを含んでおり、USB機能をサポートするためのハードウェアに相当する。USBホスト・コントローラ109は、HCI107を通じてBLTHコントローラ27と通信し、PCIeルート・コンプレックス、およびPCIeブリッジなどを含むPCIeシステム111を通じてCPU11が実行するプログラムと通信する。
[システム・ファームウェアの構成]
図3は、ファームウェアROM25が格納するシステム・ファームウェアの構成を説明するための図である。システム・ファームウェアはBIOSでもよいがここではUEFIファームウェア26を例示して説明する。UEFIファームウェア26はPOSTコード26a、UEFIドライバ26b、BLTHホスト26c、セット・アップ・コード26d、ブート・デバイス選択コード26eおよび変数26fなどのモジュールを含む。POSTコード26aは、ラップトップPC10が実装するデバイスの検出、検査および初期化を実行する。
UEFIドライバ26bは、プリブートを実行する際に必要なデバイスを制御するコードを含む。プリブートは、パワーオフ状態およびハイバネーション状態のときに、リセットされたCPU11がPOSTの実行を開始してからOS213をロードするまでのUEFIファームウェア26によるブート・ルーチンをいう。なお、CPU11がリセットしてからロードされたOSが実行できる状態になるまでのプリブートを含むブート・ルーチンを単にブートということにする。
BLTHホスト26cは、GATTプロファイル、GAP、ATT、L2CPなどを含み、データアクセス通信の管理、ネットワーク制御およびセキュリティの管理などを行うソフトウェア・スタックに相当する。セット・アップ・コード26dは、プリブートの間にたとえばF1キーが押下されたときにタッチスクリーン17にユーザがデバイスを設定するためのセット・アップ画面を表示する。ブート・デバイス選択コード26eは、ブート・イメージを格納するデバイスを選択するための画面を表示する。変数26fは、GV(Global Variables)およびCV(Configuration Variables)などのUEFIファームウェア26fがプリブートの際に参照したり書き込んだりするデータに相当する。
[BLTH系統のソフトウェア]
図4は、BLTH系統のデータ転送に関連するソフトウェア構成を説明するための図である。BLTHファームウェア201は、BLTHコントローラ27に実装されたROMに格納され、BLTHコントローラ27の機能を実現する。BLTHファームウェア201は、BLTHコントローラ27にBLTH/USB変換層105を提供する。BLTHドライバ203は、BLTHファームウェア201と上位層の間の通信を制御する。BLTHドライバ203は、BLTHコントローラ27が接続状態に遷移する前に、BLTHファームウェア201から受け取った、F1キーおよびF12キーといった特定のキーに対応するスキャン・コードを、UEFIファームウェア・コア26gに送る。
UEFIファームウェア・コア26gは、スキャン・コードに応じてセット・アップ・コード26dまたはブート・デバイス選択コード26eにCPU11の制御権を渡す。BLTHホスト26cは、プリブート中にUEFIファームウェア・コア26gを通じて無線キーボード50からデータ通信パケットで受け取ったスキャン・コードをセット・アップ・コード26dまたはブート・デバイス選択コード26eに渡す。UEFIファームウェア・コア26gは、プリブート中に実装されたキーボード32から受け取ったスキャン・コードをセット・アップ・コード26dまたはブート・デバイス選択コード26eに渡す。
USBドライバ209は、USBホスト・コントローラ109とともにUSB機能を提供するソフトウェアに相当し、ホスト・コントローラ・ドライバ、バス・ドライバ、およびクラス・ドライバの3つの層で構成されている。USBドライバ209は通常、OS213に組み込まれている。USBドライバ209はOS213の実行環境でBLTH/USB変換層105によりUSBプロトコルのデータに変換された無線キーボード50からのデータをOS211に送る。
OS213は、USBドライバ209を構成するクラス・ドライバからBLTHコントローラ27をHIDクラスとして認識してスキャン・コードをアプリケーション215に送る。BLTHホスト211は通常、OS213に組み込まれており、BLTHホスト25cと同等のモジュールで構成されている。BLTHホスト211は、OS213の実行環境で無線周辺デバイス35が送信したBLTHプロトコルのデータを処理してアプリケーション215に送る。一例においてBLTHホスト211は、無線周辺デバイス35とアプリケーション215のデータ転送にだけ関与し、無線キーボード50とアプリケーション215の間のデータ転送には関与しない。
他の例でBLTHホスト211は、無線キーボード50が送信したデータ通信パケットを処理してアプリケーション215に送るようにすることもできる。アプリケーション215は、無線キーボード50および無線周辺デバイス35とデータ転送する。BLTHファームウェア201は、ラップトップPC10が停止状態でもBLTHコントローラ27に電力が供給されるため機能するが、CPU11が実行するBLTHドライバ203より上位の層は、ラップトップPC10の電源が起動した後でないと機能しない。UEFIファームウェア・コア26gより上位の層はプリブート中に機能し、USBドライバ209およびBLTHホスト211より上位の層はブートが完了した後に機能する。
[無線キーボード]
図5は、無線キーボード50の構成を示す概略の機能ブロック図である。キー・アセンブリ305は、キー・スイッチ、スキャン・ライン、およびデコーダ・ラインなどで構成したキー・マトリクスおよびユーザが押下してキー・スイッチを動作させるキー・トップなどを含む。キーボード・コントローラ303は、スキャン・ラインが接続されたスキャン・ドライバおよびデコーダ・ラインが接続されたデコーダを含み、押下されたキーに対応するスキャン・コードを生成してBLTHコントローラ301に送る。
BLTHコントローラ301は、BLTHコントローラ27と同等のハードウェアおよびファームウェアの構成要素を備えている。電源ユニット307は、電池ユニット、充電器、およびDC/DCコンバータなどで構成している。電源ユニット307には、無線キーボード50の電源を起動するパワー・ボタン(PB)309が接続されている。PB309は、キー・アセンブリ305に実装してもよい。
[BLTHコントローラ27,301の状態遷移]
図6は、BLTHコントローラ27、301の動作状態を説明するための状態遷移図である。本実施の形態では、BLTHコントローラ27がセントラル351として動作し、無線キーボード50がペリフェラル353として動作する。セントラル351の動作状態はスタンバイ状態、スキャニング状態、イニシエーティング状態および接続状態を含む。ペリフェラル353の動作状態は、スタンバイ状態、アドバタイジング状態および接続状態を含む。
アドバタイジング・パケットを交換するアドバタイジング・チャネル355は、スキャニング状態またはイニシエーティング状態のセントラル351とアドバタイジング状態のペリフェラル353との間に構築される。データ通信パケットを交換するデータ・チャネル357は、接続状態のセントラル351とペリフェラル353との間に構築される。BLTHコントローラ27とBLTHコントローラ301は、BLTHホスト26cまたはBLTHホスト211が構築されて接続状態に入る前はアドバタイジング・チャネル355で通信する。アドバタイジング・チャネル355での通信状態は、接続状態に移行するための準備処理をする意味で接続準備状態ということができる。
[ラップトップPC10をブートさせる手順]
つぎに、パワーオフ状態のラップトップPC10を無線キーボード50がブートさせる手順について図7のフローチャートを参照して説明する。図8は、ペイロードに特定のフラグを埋め込んだアドバタイジング状態で送信する特別のパケット700を説明するための図である。ブロック401〜423はラップトップPC10の動作を示し、ブロック501〜517は無線キーボード50の動作を示し、ブロック519は無線キーボード50および無線周辺デバイス35の動作を示す。
ブロック401、501でラップトップPC10と無線キーボード50は相互に必要な情報を交換してペアリングが完了しともにパワーオフ状態に遷移している。なお、本実施の形態は、ラップトップPC10をハイバネーション状態またはサスペンド状態からパワーオン状態に遷移させる場合にも適用することができる。ペアリングの情報は、BLTHコントローラ27、301の不揮発性メモリに登録されている。ブロック403でBLTHコントローラ27は、無線キーボード50および無線周辺デバイス35を発見するために所定の周期でスタンバイ状態とスキャニング状態の間を遷移する。
EC29は、停止状態に遷移する際に、電源ユニット31に指示してパワー・ステートに応じた所定のデバイスに対する電源を維持しながら他のほとんどのデバイスに対する電源を停止する。パワーオフ状態およびハイバネーション状態では、BLTHコントローラ27およびEC29に対する電力が維持される。サスペンド状態では、さらにシステム・メモリ13の記憶保持に必要なデバイスの電力が維持される。
ユーザは無線キーボード50の電源を起動すると同時にラップトップPC10の電源も起動したいと考える。ブロック503でPB309が押下され、無線キーボード50の電源ユニット307に起動信号が供給される。PB309の押下により電源ユニット307はBLTHコントローラ301およびキーボード・コントローラ303に電力を供給する。ブロック505で、電力の供給を受けたBLTHコントローラ301は、アドバタイジング状態に遷移する。アドバタイジング状態に遷移するBLTHコントローラ301は通常、アドバタイジング・チャネル355を利用して定期的にアドバタイジング・パケットを送信する。
アドバタイジング・パケットのPDU(Protocol Data Unit)は、BLTHホスト26cまたはBLTHホスト211が構築されたあとに、デバイス情報の報知、デバイス情報の要求、デバイス情報の応答、および接続要求などに利用される。BLTHコントローラ301は、ラップトップPC10においてBLTHホスト26cまたはBLTHホスト211が構築されていないことを想定して、アドバタイジング・パケットの交換でBLTHコントローラ27の存在を確認すると、ブロック507においてアドバタイジング状態でPB309の押下に応じた特別なパケット701(図8)を送信する。特別なパケット701は、ペイロードにBLTHコントローラ27が認識可能な起動フラグが組み込まれている。
BLTHコントローラ27は、ブロック413でBLTHホスト26cが構築されるまでの間、特別なパケット700の解析と応答を行うことができる。ブロック405で、特別なパケット701を受信したBLTHコントローラ27は、BLTHファームウェア201がヘッダの送信元アドレスから無線キーボード50が送信した特別なパケット701を受け取ったことを認識する。BLTHファームウェア201が、ペイロードを検査して起動フラグを認識したことをBLTHコントローラ301に通知するとBLTHコントローラ301は、特別なパケット701の送信を停止してブロック509でスタンバイ状態に遷移する。
ブロック407でBLTHファームウェア201は、ライン28を通じてEC29に起動信号を出力する。起動信号を受け取ったEC29は、電源ユニット31に指示してラップトップPC10をパワーオン状態に遷移させるために必要なほとんどのデバイスに電力を供給する。ブロック409でラップトップPC10の電源が起動しCPU11がリセットされる。システム・メモリ13にUEFIファームウェア26がロードされてラップトップPC10がコールド・ブートを開始する。コールド・ブートでは、POSTコード26aが原則としてすべてのデバイスの検出、検査および初期化を行う。POSTコード26aは変数26fを参照してデバイスの設定を開始する。
一例において、プリブート中にキーボード32のF1キーを押下すると、UEFIファームウェア26はセット・アップ・コード26dを実行してタッチスクリーン17にセット・アップ画面を表示することできる。他の例としてシステム・ファームウェア26は、プリブート中にキーボード32のF12キーを押下するとブート・デバイス選択コード26eを実行してブート・デバイスの選択画面を表示することができる。
F1キーやF12キーが、ブート・ルーチンの所定の段階が過ぎてから押下されても、UEFIファームウェア26は受け付けないため、ユーザはタイミングを逃さないでキーを押下する必要がある。ブロック511でタッチスクリーン17の画面でプリブートが開始されたことを認識したユーザは、キー・アセンブリ305のF1キーを押下すると、キーボード・コントローラ303は、BLTHコントローラ301にF1キーのスキャン・コードを送る。
BLTHホスト26cがシステム・メモリ13にロードされてBLTHコントローラ27とBLTHコントローラ301が接続状態に遷移する前は、データ通信パケットを送信することができない。また、アドバタイジング状態で送信する特別なパケット700でスキャン・コードを送信しても、ラップトップPC10のシステムはそれを認識することができない。
本実施の形態では、無線キーボード50は、BLTHコントローラ301が接続状態に遷移する前に、キー・アセンブリ305のF1キーやF12キーといった特定のキーに対応するスキャン・コードに対応するキー・フラグを埋め込んだ特別なパケット703、705をアドバタイジング状態で送信する。特別なパケット703は、F1キーのスキャン・コードに関連付けたキー・フラグを設定している。特別なパケット705は、F12キーのスキャン・コードに関連付けたキー・フラグを設定している。
ブロック411でBLTHファームウェア201は、特別なパケット703のキー・フラグを検出するとF1キーに対応するスキャン・コードを生成する。BLTHファームウェア201は、チップ・セット19にF1キーのスキャン・コードを送ってCPU11に割り込みをする。CPU11の制御権を得たUEFIファームウェア・コア26gが、セット・アップ・コード25cにCPU11の制御権を渡すと、タッチスクリーン17にセット・アップ画面が表示される。セット・アップ画面や選択画面は、システムがUEFIファームウェア26の実行環境に遷移しているときに、ユーザからの入力を待ち受ける待受画面に相当する。
ブロック513で、ユーザは続いてデバイスの設定をするためにキー・アセンブリ305に矢印キーやファクション・キーなどのセット・アップ画面に入力する任意のキーを押下する。ユーザが任意のキーを押下したときに、UEFIファームウェアの実行環境にBLTHホスト26cが構築されておらず、結果としてBLTHコントローラ27とBLTHコントローラ301が接続状態に遷移していない可能性もある。ブロック515で、接続状態に遷移する前は、BLTHコントローラ301はデータ通信パケットで任意のキーに対するスキャン・コードを送信できない。
ブロック413でUEFIファームウェア26の実行環境にBLTHホスト26c構築される。BLTHホスト26cが、BLTHコントローラ27から受信したアドバタイジング・パケットから無線キーボード50を検出すると、BLTHホスト26cとBLTHコントローラ27はスキャニング状態に遷移してBLTHコントローラ301に参加要請する。つづいてBLTHコントローラ27とBLTHコントローラ301が接続状態に遷移する。
ブロック517で接続状態に遷移したことを認識したBLTHコントローラ301は、それ以後にキー・アセンブリ305から受け取った任意のキーに対応するスキャン・コードを、データ・チャネル357を通じてデータ通信パケットで送信する。このときF1キーおよびF12キーに対応するスキャン・コードを受け取ったBLTHコントローラ301は、データ通信パケットで当該スキャン・コードを送信する。ブロック415でBLTHコントローラ27は受け取ったスキャン・コードを、ライン30を通じてCPU11、チップ・セット19、システム・メモリ13およびBLTHホスト26cが構築するUEFIファームウェア26の実行環境に送る。
スキャン・コードは、BLTHホスト26cで処理されてセット・アップ・コード26dに送られ、セット・アップ画面に対する入力処理が行われる。ブロック417でOS213のロードが開始され、ブロック419でBLTHホスト211がシステム・メモリ13上に構築される。ブロック421でブートが完了し、ラップトップPC10はソフトウェア的にもパワーオン状態に遷移する。ブロック519で無線キーボード50または無線周辺デバイス35がデータ通信パケットを送信する。無線周辺デバイス35は、BLTHホスト211がロードされたあとにBLTHコントローラ27と接続状態に遷移する。
ブロック423でBLTHファームウェア201は、無線キーボード50から受け取ったデータ通信パケットをUSBドライバ209およびOS213を経由してアプリケーション215に送る。BLTHファームウェア201は、無線周辺デバイス35から受け取ったデータ通信パケットをBLTHホスト211およびOS213を経由してアプリケーション215に送る。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10 ラップトップPC
19 チップ・セット
26 UEFIファームウェア
27 BLTHコントローラ
31 ラップトップPCの電源ユニット
50 無線キーボード
301 BLTHコントローラ
303 キーボード・コントローラ
305 キー・アセンブリ
307 無線キーボードの電源ユニット

Claims (13)

  1. 第1の無線コントローラを備える無線キーボードと通信することが可能なコンピュータであって、
    ブート中に前記第1の無線コントローラから受け取ったパケットが含む、待受画面の表示に対応する所定のデータを検出してスキャン・コードを生成する第2の無線コントローラと、
    システム・ファームウェアを実行するプロセッサに前記待受画面の表示をさせるために前記第2の無線コントローラから前記スキャン・コードを受け取るチップ・セットと
    を有するコンピュータ。
  2. 前記第2の無線コントローラは、前記パケットを前記第1の無線コントローラとデータ・チャネルでデータ通信をする接続状態に遷移する前に受け取る請求項1に記載のコンピュータ。
  3. 前記第1の無線コントローラと前記第2の無線コントローラが、ブルートゥース(登録商標)規格で通信する請求項1に記載のコンピュータ。
  4. 前記第1の無線コントローラは前記パケットをアドバタイジング状態で送信する請求項3に記載のコンピュータ。
  5. 前記待受画面が、ユーザがデバイスを設定する入力をするためのセット・アップ画面である請求項1に記載のコンピュータ。
  6. 前記待受画面が、ブート・デバイスの選択画面である請求項1に記載のコンピュータ。
  7. 前記システム・ファームウェアが前記コンピュータに、起動時にオペレーティング・システムがロードされる前に前記スキャン・コードを処理する機能を実現させる請求項1に記載のコンピュータ。
  8. 第1の無線コントローラを搭載する無線キーボードと通信して第2の無線コントローラを搭載するコンピュータがブートする方法であって、
    前記第1の無線コントローラと前記第2の無線コントローラが接続準備状態のときに、前記第2の無線コントローラが前記第1の無線コントローラから受け取ったパケットを解析するステップと、
    前記パケットから所定のデータを検出したときに、前記第2の無線コントローラが前記ブート中に待受画面を表示するためのスキャン・コードを生成するステップと
    を有する方法。
  9. オペレーティング・システムがロードされる前に前記第2の無線コントローラ、前記第1の無線コントローラに対してデータ・チャネルでデータ通信をする接続状態に遷移してスキャン・コードを含むパケットを受信するステップを有する請求項8に記載の方法。
  10. ブルートゥース(登録商標)規格の第1の無線コントローラを備えるコンピュータに入力することが可能な無線キーボードであって、
    キー・スイッチを含むキー・アセンブリと、
    前記キー・スイッチに対応するスキャン・コードを出力するキーボード・コントローラと、
    前記キーボード・コントローラから特定のキー・スイッチに対応するスキャン・コードを受け取ったときに前記第1の無線コントローラに前記スキャン・コードを生成させるための所定のデータを含むパケットをアドバタイジング状態で送信する第2の無線コントローラと
    を有する無線キーボード。
  11. ブルートゥース(登録商標)規格の第1の無線コントローラを備えるコンピュータに入力することが可能な無線キーボードであって、
    キー・スイッチを含むキー・アセンブリと、
    前記キー・スイッチに対応するスキャン・コードを出力するキーボード・コントローラと、
    前記コンピュータがブートを開始してオペレーティング・システムがロードされる前に前記第1の無線コントローラに対して接続状態に遷移したことを認識したときに、前記キーボード・コントローラから受け取った任意のキー・スイッチに対応するスキャン・コードをデータ通信パケットで送信する第2の無線コントローラと
    を有する無線キーボード。
  12. ブルートゥース(登録商標)規格の第1の無線コントローラを備えるコンピュータを、前記第1の無線コントローラと通信することが可能な第2の無線コントローラを備える無線キーボードがブートさせる方法であって、
    前記無線キーボードがパケットを送って前記コンピュータを起動するステップと、
    前記第2の無線コントローラが、前記第1の無線コントローラに特定のキーに対応するスキャン・コードを生成させるための所定のデータを含むパケットをアドバタイジング状態で送信するステップと
    を有する方法。
  13. ブルートゥース(登録商標)規格の第1の無線コントローラを備えるコンピュータを、前記第1の無線コントローラと通信することが可能な第2の無線コントローラを備える無線キーボードがブートさせる方法であって、
    前記無線キーボードがパケットを送って前記コンピュータを起動するステップと、
    ブート中に前記第1の無線コントローラと前記第2の無線コントローラが接続状態に遷移したことを認識した前記第2の無線コントローラが任意のキーに対応するスキャン・コードをデータ通信パケットで送信するステップと
    を有する方法。
JP2017142316A 2017-07-22 2017-07-22 コンピュータ、無線キーボードおよびブート方法 Active JP6435025B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017142316A JP6435025B1 (ja) 2017-07-22 2017-07-22 コンピュータ、無線キーボードおよびブート方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017142316A JP6435025B1 (ja) 2017-07-22 2017-07-22 コンピュータ、無線キーボードおよびブート方法

Publications (2)

Publication Number Publication Date
JP6435025B1 true JP6435025B1 (ja) 2018-12-05
JP2019023777A JP2019023777A (ja) 2019-02-14

Family

ID=64560807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017142316A Active JP6435025B1 (ja) 2017-07-22 2017-07-22 コンピュータ、無線キーボードおよびブート方法

Country Status (1)

Country Link
JP (1) JP6435025B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857469A (zh) * 2019-01-15 2019-06-07 Oppo广东移动通信有限公司 显示屏控制方法及相关产品

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312106A (ja) * 2001-04-04 2002-10-25 Eigun Kigyo Kofun Yugenkoshi Usbワイヤレスキーボードプロコトル
JP2008071066A (ja) * 2006-09-13 2008-03-27 Toshiba Corp 情報処理装置及び復帰制御方法
WO2008085798A1 (en) * 2007-01-05 2008-07-17 Hewlett-Packard Development Company, L.P. Wireless power state control
JP5499946B2 (ja) * 2010-06-29 2014-05-21 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラムを格納したコンピュータ読み取り可能な記録媒体
JP5204191B2 (ja) * 2010-10-26 2013-06-05 レノボ・シンガポール・プライベート・リミテッド マジック・パケット・フレームの送信方法および無線端末装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857469A (zh) * 2019-01-15 2019-06-07 Oppo广东移动通信有限公司 显示屏控制方法及相关产品
CN109857469B (zh) * 2019-01-15 2022-07-08 Oppo广东移动通信有限公司 显示屏控制方法及相关产品

Also Published As

Publication number Publication date
JP2019023777A (ja) 2019-02-14

Similar Documents

Publication Publication Date Title
US20070294556A1 (en) Method and System for Connecting Remote Devices for Communication With Each Other
CN107479721B (zh) 远程多计算机切换技术的存储装置、系统及方法
US11194374B2 (en) Systems and methods for waking an information handling system from a wireless peripheral device
CN102749985B (zh) 动态调整总线时钟的方法及其装置
US20150220110A1 (en) Devices and methods for portable processing and application execution
KR100633983B1 (ko) 지능형 장치와의 무선 접속을 확립시키는 주변 장치, 시스템 및 방법
CN101373448B (zh) 具有远程管理的计算机系统
CN114116571B (zh) 行动装置桥接平台
JP2021082251A (ja) 音声機器及び音声機器のインタラクション方法、機器、記憶媒体
JP6435025B1 (ja) コンピュータ、無線キーボードおよびブート方法
CN111078316A (zh) 布局文件加载方法、装置、存储介质及电子设备
JP5941490B2 (ja) パワー・ステートを制御する方法、コンピュータ・プログラムおよびコンピュータ
JP2007328534A (ja) 情報処理装置および情報処理装置の制御方法
CN108108314B (zh) 交换器系统
JP2004280636A (ja) ユーザインターフェース非装備の通信接続型情報処理装置を含む情報処理システムおよびその制御方法
CN110612520A (zh) 配置参数传送
CN109857469B (zh) 显示屏控制方法及相关产品
JP5698194B2 (ja) 情報端末装置を同期する方法および情報端末装置
CN108388534A (zh) 一种显示器及显示器程序升级的方法
JP6586832B2 (ja) 情報処理装置
US12321755B2 (en) Systems and methods providing seamless accessibility across pre-boot and runtime environments
CN104348514B (zh) 集成电路、电子装置与其运作方法
US20240289138A1 (en) System and method for mobile and stationary computing device interworking
CN116347408A (zh) 热点连接方法、装置和电子设备
CN117149043A (zh) 手持设备作为电脑输入设备的系统及工作方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181109

R150 Certificate of patent or registration of utility model

Ref document number: 6435025

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350