(57)【要約】  携帯電子装置上に配置される入力要素の、ソフトウェアアプリケーション内に与えられるプリロードされた又は予め割り当てられた機能とは異なる実行可能な機能への再マッピング技術は、ソフトウェアアプリケーション、又は、複数のソフトウェアアプリケーションのクラスに対して、シフト又はインデックス機能、又は特定の文字の挿入といった少なくとも１つの機能に関連付けられる、キー、回転ダイアル、又はボタンといった少なくとも１つの物理入力要素を含みうる複数の構成設定を受信することと、複数の構成設定に基づいて、キーボードデバイスドライバ、デバイスレイアウト、又はトランスレーションレイヤといったマッピング機能を変更することと、ソフトウェアアプリケーションの動作時の物理入力要素の、例えば、押下又は作動といった起動後に、物理入力要素に関連付けられる機能を実行することを含む。【選択図】  図３
2009507452.tif 000002
【特許請求の範囲】
【請求項１】
携帯電子装置を再マッピングする方法であって、
ソフトウェアアプリケーション、又は、複数のソフトウェアアプリケーションのクラスに対して、少なくとも１つの機能に関連付けられる少なくとも１つの物理入力要素を含む複数の構成設定を受信することと、
決められた前記複数の構成設定に基づいてマッピング機能を変更することと、
前記ソフトウェアアプリケーション、又は、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時の前記少なくとも１つの物理入力要素の作動後に、前記少なくとも１つの物理入力要素に関連付けられる前記少なくとも１つの機能を実行することと、
を含む方法。
【請求項２】
前記マッピング機能は、キーボードデバイスドライバを含む、請求項１に記載の方法。
【請求項３】
前記ソフトウェアアプリケーション、又は、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時の少なくとも１つの物理入力要素の作動後に、前記少なくとも１つの物理入力要素に関連付けられる前記少なくとも１つの機能を実行することは、
前記ソフトウェアアプリケーション、又は、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時の前記少なくとも１つの物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記変更されたキーボードデバイスドライバを使用して、前記取出ししたスキャンコードを仮想入力要素コードに変換することと、
前記スキャンコード及び前記仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記少なくとも１つの機能である、請求項２に記載の方法。
【請求項４】
前記少なくとも１つの機能は、少なくとも１つのシフト機能を含む、請求項３に記載の方法。
【請求項５】
前記マッピング機能は、デバイスレイアウトを含む、請求項１に記載の方法。
【請求項６】
前記ソフトウェアアプリケーション、又は、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時の前記少なくとも１つの物理入力要素の作動後に、前記少なくとも１つの物理入力要素に関連付けられる前記少なくとも１つの機能を実行することは、
前記ソフトウェアアプリケーション、又は、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時の前記少なくとも１つの物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記変更されたデバイスレイアウトを使用して、前記取出ししたスキャンコードを仮想入力要素コードに変換することと、
前記スキャンコード及び前記仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記少なくとも１つの機能である、請求項５に記載の方法。
【請求項７】
前記少なくとも１つの機能は、少なくとも１つのシフト機能を含む、請求項６に記載の方法。
【請求項８】
前記マッピング機能は、キーボードデバイスドライバのトランスレーションレイヤである、請求項１に記載の方法。
【請求項９】
前記ソフトウェアアプリケーション、又は、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時の前記少なくとも１つの物理入力要素の作動後に、前記少なくとも１つの物理入力要素に関連付けられる前記少なくとも１つの機能を実行することは、
前記ソフトウェアアプリケーション、又は、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時の前記少なくとも１つの物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記スキャンコードをオリジナル仮想入力要素コードに変換することと、
前記キーボードデバイスドライバの前記変更されたトランスレーションレイヤを使用して、前記オリジナル仮想入力要素コードを新しい入力要素コードに変換することと、
前記スキャンコード及び前記新しい仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記少なくとも１つの機能である、請求項８に記載の方法。
【請求項１０】
前記少なくとも１つの機能は、少なくとも１つのシフト機能を含む、請求項９に記載の方法。
【請求項１１】
携帯電子装置上に配置される少なくとも１つの物理入力要素を、ソフトウェアアプリケーション、又は、複数のソフトウェアアプリケーションのクラスに関連付けられる第１の実行可能な機能に関連付けることと、
前記第１の実行可能な機能との前記少なくとも１つの物理入力要素の関連付けに対し、第２の実行可能な機能との前記少なくとも１つの物理入力要素の関連付けを形成するようマッピング機能の変更を行うことで、前記第１の実行可能な機能は、前記ソフトウェアアプリケーション、又は、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時の前記少なくとも１つの物理入力要素の作動後に起動するよう構成されることと、
を含む方法。
【請求項１２】
前記マッピング機能は、キーボードデバイスドライバを含む、請求項１１に記載の方法。
【請求項１３】
前記第１の実行可能な機能は、シフト機能を含み、
前記第２の実行可能な機能は、前記ソフトウェアアプリケーションと関連付けられるデフォルト機能である、請求項１２に記載の方法。
【請求項１４】
前記マッピング機能は、デバイスレイアウトを含む、請求項１１に記載の方法。
【請求項１５】
前記第１の実行可能な機能は、シフト機能を含み、
前記第２の実行可能な機能は、前記ソフトウェアアプリケーションと関連付けられるデフォルト機能である、請求項１４に記載の方法。
【請求項１６】
前記マッピング機能は、キーボードデバイスドライバのトランスレーションレイヤである、請求項１１に記載の方法。
【請求項１７】
前記第１の実行可能な機能は、シフト機能を含み、
前記第２の実行可能な機能は、前記ソフトウェアアプリケーションと関連付けられるデフォルト機能である、請求項１６に記載の方法。
【請求項１８】
複数の物理入力要素及び複数の機能を識別するグラフィカルユーザインターフェイスを供給することと、
第１の物理入力要素及び第１の機能を識別する前記グラフィカルユーザインターフェイスを介してユーザ入力を受信することと、
前記ユーザ入力に基づいて、第２の機能との前記第１の物理入力要素の関連付けから前記第１の機能との前記第１の物理入力要素の関連付けとなるようキーボードデバイスドライバを変更することと、
前記第１の物理入力要素の作動後に前記第１の機能を起動することと、
を含む方法。
【請求項１９】
複数の物理入力要素及び複数の機能を識別するグラフィカルユーザインターフェイスを供給することは、
複数のソフトウェアアプリケーションのクラスを識別することをさらに含む、請求項１８に記載の方法。
【請求項２０】
前記第１の物理入力要素の作動後に前記第１の機能を起動することは、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時に発生する、請求項１９に記載の方法。
【請求項２１】
前記複数の機能は、少なくとも１つのシフト機能を含む、請求項１８に記載の方法。
【請求項２２】
前記キーボードデバイスドライバは、モデルデバイスドライバを含む、請求項１８に記載の方法。
【請求項２３】
前記第１の物理入力要素の作動後に前記第１の機能を起動することは、
前記第１の物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記変更されたキーボードデバイスドライバを使用して、前記スキャンコードを第１の仮想入力要素コードに変換することと、
前記スキャンコード及び前記第１の仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記第１の機能である、請求項１８に記載の方法。
【請求項２４】
複数の物理入力要素及び複数の機能を識別するグラフィカルユーザインターフェイスを供給することと、
第１の物理入力要素及び第１の機能を識別する前記グラフィカルユーザインターフェイスを介してユーザ入力を受信することと、
第２の機能との前記第１の物理入力要素の関連付けから前記第１の機能との前記第１の物理入力要素の関連付けとなるようデバイスレイアウトを変更することと、
前記第１の物理入力要素の作動後に前記第１の機能を起動することと、
を含む方法。
【請求項２５】
複数の物理入力要素及び複数の機能を識別するグラフィカルユーザインターフェイスを供給することは、
複数のソフトウェアアプリケーションのクラスを識別することをさらに含む、請求項２４に記載の方法。
【請求項２６】
前記第１の物理入力要素の作動後に前記第１の機能を起動することは、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時に発生する、請求項２５に記載の方法。
【請求項２７】
前記複数の機能は、少なくとも１つのシフト機能を含む、請求項２４に記載の方法。
【請求項２８】
第２の機能との前記第１の物理入力要素の関連付けから前記第１の機能との前記第１の物理入力要素の関連付けとなるようデバイスレイアウトを変更することは、
携帯電子装置のデバイスレイアウトを選択することと、
前記ユーザ入力に基づいて、スキャンコードを、前記第１の物理入力に関連付けられる仮想入力要素コード翻訳に変えることと、
を含む、請求項２４に記載の方法。
【請求項２９】
前記第１の物理入力要素の作動後に前記第１の機能を起動することは、
前記第１の物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記変更されたデバイスレイアウトに基づいて、前記スキャンコードを仮想入力要素コードに変換することと、
前記スキャンコード及び前記仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記第１の機能である、請求項２４に記載の方法。
【請求項３０】
複数の物理入力要素及び複数の機能を識別するグラフィカルユーザインターフェイスを供給することと、
第１の物理入力要素及び第１の機能を識別する前記グラフィカルユーザインターフェイスを介してユーザ入力を受信することと、
前記ユーザ入力に基づいて、前記第１の機能に関連付けられる新しい仮想入力要素コードへのオリジナル仮想入力要素コードのマッピングを供給するようキーボードデバイスドライバのトランスレーションレイヤを変更することと、
前記変更されたトランスレーションレイヤに基づいて、前記第１の物理入力要素の作動後に前記第１の機能を起動することと、
を含む方法。
【請求項３１】
複数の物理入力要素及び複数の機能を識別するグラフィカルユーザインターフェイスを供給することは、
複数のソフトウェアアプリケーションのクラスを識別することをさらに含む、請求項３０に記載の方法。
【請求項３２】
前記第１の物理入力要素の作動後に前記第１の機能を起動することは、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時に発生する、請求項３１に記載の方法。
【請求項３３】
前記複数の機能は、少なくとも１つのシフト機能を含む、請求項３０に記載の方法。
【請求項３４】
前記変更されたトランスレーションレイヤに基づいて、前記第１の物理入力要素の作動後に前記第１の機能を起動することは、
前記第１の物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記スキャンコードをオリジナル仮想入力要素コードに変換することと、
前記変更されたトランスレーションレイヤを使用して、前記オリジナル仮想入力要素コードを新しい入力要素コードに変換することと、
前記スキャンコード及び前記新しい仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
前記機能は、前記第１の機能である、請求項３０に記載の方法。
【請求項３５】
携帯電子装置上の複数の物理入力要素を再マッピングする方法であって、
前記複数の物理入力要素の１つにそれぞれ対応する複数の入力要素アイコンと、複数の実行可能な機能の１つにそれぞれ対応する複数の機能アイコンとを含み、前記複数の入力要素アイコンのそれぞれは、前記複数の機能アイコンに関連付けられる、グラフィカルユーザインターフェイスを供給することと、
前記グラフィカルユーザインターフェイスを介して、前記複数の入力要素アイコンの１つと、前記複数の機能アイコンの対応する１つとを選択するユーザ入力を受信することと、
前記ユーザ入力に基づいて、前記選択された機能アイコンに対応する前記実行可能な機能との前記選択された入力要素アイコンに対応する前記物理入力要素のマッピングを供給するようマッピング機能を変更することと、
前記物理入力要素の作動後に、前記物理入力要素にマッピングされた前記実行可能な機能を起動することと、
を含む方法。
【請求項３６】
グラフィカルユーザインターフェイスを供給することは、前記携帯電子装置上で動作可能な複数のソフトウェアアプリケーションのクラスに対応する、複数のソフトウェアアプリケーションアイコンのクラスを含む、請求項３５に記載の方法。
【請求項３７】
前記物理入力要素の作動後に、前記物理入力要素にマッピングされた前記実行可能な機能を起動することは、複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの実行時に発生する、請求項３６に記載の方法。
【請求項３８】
前記複数の実行可能な機能は、複数のシフト機能を含む、請求項３５に記載の方法。
【請求項３９】
前記マッピング機能は、キーボードデバイスドライバを含む、請求項３５に記載の方法。
【請求項４０】
前記物理入力要素の作動後に、前記物理入力要素にマッピングされた前記実行可能な機能を起動することは、
前記物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファからスキャンコードを取出しすることと、
前記変更されたキーボードデバイスドライバを使用して、前記取出ししたスキャンコードを仮想入力要素コードに変換することと、
前記スキャンコード及び前記仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記実行可能な機能である、請求項３９に記載の方法。
【請求項４１】
前記マッピング機能は、デバイスレイアウトを含む、請求項３５に記載の方法。
【請求項４２】
前記物理入力要素の作動後に、前記物理入力要素にマッピングされた前記実行可能な機能を起動することは、
前記物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記変更されたデバイスレイアウトを使用して、前記取出ししたスキャンコードを仮想入力要素コードに変換することと、
前記スキャンコード及び前記仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記実行可能な機能である、請求項４１に記載の方法。
【請求項４３】
前記ユーザ入力に基づいて、前記選択された機能アイコンに対応する前記実行可能な機能との前記選択された入力要素アイコンに対応する前記物理入力要素のマッピングを供給するようマッピング機能を変更することは、
前記ユーザ入力に基づいて、前記選択された機能アイコンに対応する前記実行可能な機能に関連付けられる新しい仮想入力要素コードへのオリジナル仮想入力要素コードのマッピングを供給するようキーボードデバイスドライバのトランスレーションレイヤを変更することを含む、請求項３５に記載の方法。
【請求項４４】
前記物理入力要素の作動後に、前記物理入力要素にマッピングされた前記実行可能な機能を起動することは、
前記物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記スキャンコードを前記オリジナル仮想入力要素コードに変換することと、
前記変更されたトランスレーションレイヤを使用して、前記オリジナル仮想入力要素コードを前記新しい入力要素コードに変換することと、
前記スキャンコード及び前記新しい仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記機能アイコンに対応する前記実行可能な機能である、請求項４３に記載の方法。
【請求項４５】
前記物理入力要素の作動は、スタイラス、又は、ユーザの指又は親指で前記物理入力要素を押すことを含む、請求項４４に記載の方法。
【請求項４６】
携帯電子装置上の複数の物理入力要素の１つを、ソフトウェアアプリケーションに関連付けられる複数の実行可能な機能の１つに再マッピングするための１つ以上の命令シーケンスをその上に格納するコンピュータ可読媒体であって、
１つ以上のプロセッサによる前記１つ以上の命令シーケンスの実行は、当該１つ以上のプロセッサに複数の演算を実行させ、
前記複数の演算は、
前記複数の物理入力要素の１つに対応する前記複数の実行可能な機能の１つであるユーザ選択を受信することと、
前記ユーザ入力に基づいて、前記選択された実行可能な機能を前記対応する物理入力要素にマッピングするマッピング機能を変更することと、
前記対応する物理入力要素の作動後に前記選択された実行可能な機能を起動することと、
を含む、コンピュータ可読媒体。
【請求項４７】
複数の物理入力要素及び複数の実行可能な機能を識別するグラフィカルユーザインターフェイスを供給することをさらに含む、請求項４６に記載のコンピュータ可読媒体。
【請求項４８】
前記グラフィカルユーザインターフェイスは、
前記複数の物理入力要素の１つにそれぞれ対応する複数の入力要素アイコンと、
前記複数の実行可能な機能の１つにそれぞれ対応する複数の機能アイコンと、
を含み、
前記複数の入力要素アイコンのそれぞれは、前記複数の機能アイコンに関連付けられる、請求項４７に記載のコンピュータ可読媒体。
【請求項４９】
グラフィカルユーザインターフェイスを供給することは、
前記携帯電子装置上で動作可能な複数のソフトウェアアプリケーションのクラスに対応する、複数のソフトウェアアプリケーションアイコンのクラスを識別することをさらに含む、請求項４８に記載のコンピュータ可読媒体。
【請求項５０】
前記対応する物理入力要素の作動後に前記選択された実行可能な機能を起動することは、前記複数のソフトウェアアプリケーションの前記クラスにおける１つのソフトウェアアプリケーションの動作時に発生する、請求項４９に記載の方法。
【請求項５１】
前記複数の実行可能な機能は、複数のシフト機能を含む、請求項４６に記載の方法。
【請求項５２】
前記マッピング機能は、キーボードデバイスドライバを含む、請求項４６に記載の方法。
【請求項５３】
前記対応する物理入力要素の作動後に前記選択された実行可能な機能を起動することは、
前記物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記変更されたキーボードデバイスドライバを使用して、前記取出ししたスキャンコードを仮想入力要素コードに変換することと、
前記スキャンコード及び前記仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記選択された実行可能な機能である、請求項５２に記載の方法。
【請求項５４】
前記マッピング機能は、デバイスレイアウトを含む、請求項４６に記載の方法。
【請求項５５】
前記対応する物理入力要素の作動に前記選択された実行可能な機能を起動することは、
前記物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記変更されたデバイスレイアウトを使用して、前記取出ししたスキャンコードを仮想入力要素コードに変換することと、
前記スキャンコード及び前記仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記選択された実行可能な機能である、請求項５４に記載の方法。
【請求項５６】
前記ユーザ入力に基づいて、前記選択された実行可能な機能を前記対応する物理入力要素にマッピングするマッピング機能を変更することは、
前記ユーザ入力に基づいて、前記選択された実行可能な機能に関連付けられる新しい仮想入力要素コードへのオリジナル仮想入力要素コードのマッピングを供給するようキーボードデバイスドライバのトランスレーションレイヤを変更することを含む、請求項４６に記載の方法。
【請求項５７】
前記対応する物理入力要素の作動後に前記選択された実行可能な機能を起動することは、
前記物理入力要素の作動後に、バッファにスキャンコードを書込みすることと、
前記バッファから前記スキャンコードを取出しすることと、
前記スキャンコードを前記オリジナル仮想入力要素コードに変換することと、
前記変更されたトランスレーションレイヤを使用して、前記オリジナル仮想入力要素コードを前記新しい入力要素コードに変換することと、
前記スキャンコード及び前記新しい仮想入力要素コードを有するキーボードイベントを呼出しすることと、
前記キーボードイベントに関連付けられる機能を実行することと、
を含み、
前記機能は、前記選択された実行可能な機能である、請求項５６に記載の方法。
【請求項５８】
前記物理入力要素の作動は、前記物理入力要素を押すことを含む、請求項４６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、携帯装置の入力要素（例えば、キー又はボタン）の所望の動作又は機能への再マッピングに関する。
【背景技術】
【０００２】
セル式電話機、携帯情報端末（「ＰＤＡ」）、ポケットパーソナルコンピュータ、スマートフォン、携帯ゲーム装置、バーコードリーダ、遠隔制御器、及び、キーパッド又は１つ以上の入力要素を有する他の同様の携帯入力装置といった従来の携帯電子装置は、処理能力価格が減少すると同時に消費者のより小型装置への要求が増加することに部分的に起因してより高度に且つより物理的に小さくなってきている。そのような携帯電子装置のキー、ボタン、方向パッド、タッチパッド又はスクリーン、力感知抵抗器、及び加速度計といった入力要素は、一般的に、電源のオンオフ、音量の上下、テキスト入力、カーソル制御、又は方向動作といった特定の動作又は機能に対してハードコードされる。例えば、テキスト入力機能に関して、入力要素のうちの１つは、その入力要素がユーザによって押されると、文字２、Ａ、Ｂ、又はＣをテキストアプリケーションに挿入するようハードコードされ、一方、別の入力要素は、ユーザによって押されると、文字３、Ｄ、Ｅ、又はＦをテキストアプリケーションに挿入するようハードコードされうる。現在利用可能である、そのような電子装置上で実行されるＳｙｍｂｉａｎ、Ｊ２ＭＥ、及びＷｉｎｄｏｗｓ（登録商標）Ｍｏｂｉｌｅといったオペレーティングシステムでは、アプリケーションデベロッパがハードコードされた動作又は機能を無効にし、異なる動作又は機能を入力要素に割り当てる（即ち、再マッピングする）ことを可能にするが、一般的に、これらの再マッピングされた入力要素は、１つのアプリケーションに亘ってのみ適用可能である。
【０００３】
図１ａ及び図１ｂは、携帯電子装置１００上のＷｉｎｄｏｗｓ（登録商標）Ｍｏｂｉｌｅオペレーティングシステム環境内での従来のマッピング処理に関連するハードウェア及びソフトウェアコンポーネントの抽象概念を示す。図１ａは、複数の物理入力要素１０４、キーボードデバイスドライバ１０８、及びアプリケーションソフトウェア１１２を含む携帯電子装置１００を示す。セル式電話機といった一部の携帯電子装置では、「２ＡＢＣ」とラベル付けされる入力要素１０６は、複数の入力要素１０４のうちの１つであり、キーパッドを形成するよう使用される。一般的に、物理入力要素１０４は、キーボードデバイスドライバ１０８マッピング及びソフトウェアアプリケーション１１２マッピングの組み合わせによってユーザの入力リクエストにマッピングされる。キーボードデバイスドライバ１０８は、一般的に、携帯電子装置１００からのスキャンコードを取出す下位層、即ち、プラットフォーム依存型ドライバ（ＰＤＤ）１０９と、スキャンコードを仮想入力要素コードにマッピングし、仮想入力要素コードに関連付けられる文字データを生成し、キーボードメッセージをパッケージ化し、それらをシステムメッセージキューに入れる上位層、即ち、モデルデバイスドライバ（ＭＤＤ）１１１とを含む階層ドライバとして実装される。アプリケーションソフトウェア１１２は、システムメッセージキューからのキーボードメッセージを取出し、そのキーボードメッセージに基づいて機能を実行する。キーボードデバイスドライバ１０８及びアプリケーションソフトウェア１１２は、一般的に、電子装置１００上のランダムアクセスメモリといったメモリ（図示せず）内に格納される。
【０００４】
図１ｂは、Ｗｉｎｄｏｗｓ（登録商標）Ｍｏｂｉｌｅ、及び、テキストアプリケーション又はダイアルアプリケーションといった現在利用可能なアプリケーションソフトウェアを実行する携帯電子装置上の物理入力要素１０４をユーザが押した際の従来のマッピング処理法を説明する。処理工程１２０では、ユーザは、入力要素１０６といった、携帯電子装置１００上の物理入力要素１０４を押す。押されることでスキャンコードが生成される。一般的に、キーボードコントローラは、このスキャンコードを携帯電子装置１００のバッファに書込みする。処理工程１２４では、キーボードデバイスドライバ１０８は、物理入力要素１０６の押下を表すスキャンコードを仮想入力要素コードに翻訳又はマッピングする。具体的には、ＰＤＤ１０９が、バッファからスキャンコードを取出しするようインタラプトを受信し、ＭＤＤ１１１がスキャンコードを仮想入力要素コードに変換する。キーボードデバイスドライバ１０８は、仮想入力要素コード及びスキャンコードを有するキーボードイベント「ｋｅｙｂｄ＿ｅｖｅｎｔ」を呼出しする。処理工程１３０では、アプリケーションソフトウェアは、ユーザが特定の物理入力要素を押したことが通知される。具体的には、アプリケーションソフトウェア１１２は、仮想入力要素コード及びスキャンコードを有するキーボードイベントを受信する。次に、アプリケーションソフトウェア１１２は、典型的に、仮想入力要素コード及びスキャンコードに関連付けられる機能を実行する。例えば、セル式電話機といった携帯電子装置１００上で、電話機上の「２ＡＢＣ」物理入力要素１０６が押されると、ＰＤＤ１０９により取出しされるスキャンコードが生成される。ＭＤＤ１１は、スキャンコードを、「２ＡＢＣ」物理入力要素が押された回数に応じて文字データ２、Ａ、Ｂ、又はＣ（例えば、テキストアプリケーションの場合）を表す仮想入力要素コードに変換又はマッピングする。キーボードデバイスドライバ１０８は、仮想入力要素コード及びスキャンコードを有する「ｋｅｙｂｄ＿ｅｖｅｎｔ」を呼出しする。テキストアプリケーションといったアプリケーションソフトウェアは、例えば、電子装置のディスプレイ又はＬＣＤ上に数字「２」又は文字「Ａ」、「Ｂ」、又は「Ｃ」を表示するといったように、受信した仮想入力要素コード及びスキャンコードに基づいて機能を実行する。
【０００５】
携帯電子装置上の物理入力要素は更に、一般的に、装置の１つ以上の表面上の所定の固定位置に配置される。その結果、そのような電子装置は、データ入力（例えば、テキスト、数値、及び機能入力）及び／又は装置制御（例えば、ゲーム再生時のゲーム制御）のために装置と快適にインターフェイスするユーザの能力において機能及び有用性において制限される傾向がある。データ入力及び／又は装置制御のために装置と快適にインターフェイスすることは、データ入力及び／又は装置制御に使用される入力要素の配置のために装置の表面上利用可能なスペースは減少し続けているのでますます難しく窮屈になってきている。
【０００６】
データ入力のためには、多くの従来の携帯電子装置では、ユーザは、一般的に、独立して又はコーダル入力技術、モーダル入力技術、及び／又はスマートキーとともに使用される小型キーボード及びキーパッド、又は、オンスクリーンキーボード又はキーパッドソフトウェア又は手書き認識ソフトウェアとともに使用されるタッチスクリーンを介してデータを入力する。小型キーボード又はキーパッドを構成する入力要素の数は様々であるが、多くの従来の携帯電子装置上で使用されるキーパッドは、一般的に、１２以上の入力要素を含むが、Ｆｉｒｅｆｌｙといった一部の特殊化された携帯電子装置は、少ない数の入力要素を有する。ほとんどの場合、これらの入力要素は、装置の前面の下半分又は３分割された場合の一番下に配置される。このような電子装置では、ユーザは、装置を両手で持ちながら親指を使用してデータを入力するか、装置を片手で持ちながらその手の親指を使用してデータを入力するか、又は、装置を片手で持ちながら反対の手の指を使用してデータを入力しうる。
【０００７】
従来の携帯電子装置においてデータを入力するこれらの方法はいずれも（特に、親指入力の方法）、反復運動過多損傷（ＲＳＩ）をもたらしうる。特に、セル式電話機及びＰＤＡといった小型の携帯電子装置でのデータ入力に多くの時間を費やす傾向のあるユーザにとっては特に言えることである。更に、特に親指入力では、多くの携帯電子装置が物理的に小さく、また、そのような電子装置の前面上の入力要素の配置によって、ユーザは親指で装置を持ち、同時に、その同じ親指で、そのような装置の前面の下に位置する、例えば、スペースキーを表す入力要素、又は、キーパッドの文字ＰからＹ或いはＱＷＥＲＴＹキーボードを表すよう形成される入力要素の下の列を表す入力要素に届くよう伸ばさなければならない。従って、ユーザは、親指をぎこちない位置に置いたまま大きな力を加える必要がある。
【０００８】
ゲーム制御では、多くの携帯電子装置では、ユーザは、一般的に装置の前面に一般的に配置される小型キーパッド及び／又は方向パッド（「Ｄパッド」）といった何らかの形式の入力要素を使用してゲームプレイを制御する。セル式電話機といった一部の携帯電子装置上でのゲーム制御は、一般的に、片手か、装置のサイズによってせいぜい２本の親指で行われ、一方、ＰＤＡや従来のゲームコンソールコントローラといった他の携帯電子装置上でのゲーム制御は、両手で行われる。セル式電話機及びＰＤＡといったこれらの装置上でのゲーム制御に関連付けられる入力要素は、マイクロソフト社のＸｂｏｘ又はソニー社のＰｌａｙＳｔａｔｉｏｎ２といったＰＣ及びコンソールゲームシステム用のゲームコントローラではアナログ入力要素が使用されるにも関わらず、一般的にデジタルである。多くのセル式電話機及びＰＤＡは、アナログ入力要素を使用しないということを考慮すると、そのような装置上でのゲームプレイ時は、ユーザは、一般的に、ユーザのキャラクタ又はカーソルといった他の制御対象を左右に動かすために矢印キーといった特定の入力要素を繰り返し押さなければならず、また、一般的にゲームでうまく戦うためには素早く押さなければならない。従って、デジタル入力要素を有するそのような装置では、キャラクタ、乗り物、又は他の制御対象の連続制御を真似ることは退屈で困難であり得る。更には、これらの携帯電子装置上でデータを入力することと同様に、ゲーム制御は、特に、頻繁にゲームで遊ぶユーザの場合は反復運動過多損傷を引き起こしうる。
【発明の概要】
【０００９】
本発明の発明者は、従来の携帯電子装置は、多くのユーザにとって使用するのが厄介であり、非効率的であり、また快適ではないことを認識した。これは、特に、これらの装置は、一般的に、特定のユーザに対して最適に設計されるのではなく不特定多数のユーザに向けて設計されるからである。つまり、本発明の発明者は、入力要素の所定の固定配置と、入力要素のそれぞれにマッピングされる所定の固定又は機能の組み合わせは、アプリケーションソフトウェアのクラス又は特定のユーザに対してより適している又はより直観的である設計ではなく、装置製造業者及び／又はアプリケーション開発者によって好まれる設計をユーザに強要することを認識した。従って、本発明の発明者は、携帯電子装置上の入力要素を、一般的な要件（例えば、ゲーム、テキスト入力、音楽、及びスクローリング）を有するアプリケーションソフトウェアの特定のクラスに対して、及び／又は、特定のユーザに対して最適に選択的に再マッピングする技術を開発した。
【００１０】
本願に記載する技術は、テキスト入力（例えば、電子メール、ワープロ、カレンダー操作、連絡先登録タスク）、音楽、ナビゲーション、スクローリング、及びゲームアプリケーションといった１つの又は複数のアプリケーションクラスについて、全てのユーザに対して携帯電子装置がより良好に機能するようにするよう使用しうる。本願に記載する技術はさらに、携帯電子装置上で利用可能な各ソフトウェアアプリケーションに対して入力要素のユーザ固有のマッピングを作成するよう使用しうる。ユーザ固有のマッピングは、その携帯電子装置上で使用される全てのソフトウェアアプリケーション、１つの又は複数の特定のアプリケーションクラスにおける全てのソフトウェアアプリケーション、ソフトウェアアプリケーションのクラスにおける全てのソフトウェアアプリケーションのサブセット、又は特定のソフトウェアアプリケーションに対して、全体的に適用されてもよい。マッピング（例えば、クラス固有の、及び／又は、ユーザ固有のマッピング）は、不揮発性メモリ又はランダムアクセスメモリといったメモリ内に格納され、使用するアプリケーションをユーザが選択すると起動されうる。入力要素の再マッピングは、ユーザによって、携帯電子装置上で直接、携帯電子装置に接続されるコンピュータを介して、ワールドワイドウェブといったインターネットを介して、又は他の通信モードを介して行われうる。
【００１１】
本願に記載する技術の実施形態は、以下の特徴の様々な組み合わせを包含しうる。
【００１２】
一実施形態では、携帯電子装置を再マッピングする技術は、ソフトウェアアプリケーション、又は、複数のソフトウェアアプリケーションのクラスに対して、少なくとも１つの機能に関連付けられる少なくとも１つの物理入力要素を含みうる複数の構成設定を受信することと、複数の構成設定に基づいてマッピング機能を変更することと、ソフトウェアアプリケーションの動作時の物理入力要素の、例えば、押下又は作動といった起動後に、物理入力要素に関連付けられる機能を実行することを含む。マッピング機能は、キーボードデバイスドライバ、デバイスレイアウト、又はキーボードデバイスドライバのトランスレーションレイヤ、これらの又は別のマッピング機能の組み合わせを含みうる。
【００１３】
マッピング機能はキーボードデバイスドライバを含む一実施形態では、物理入力要素の作動後に物理入力要素に関連付けられる機能を実行する工程は、バッファにスキャンコードを書込みすることと、バッファからスキャンコードを取出しすることと、変更されたキーボードデバイスドライバを使用して、取出ししたスキャンコードを仮想入力要素コードに変換することと、スキャンコード及び仮想入力要素コードを有するキーボードイベントを呼出しすることと、キーボードイベントに関連付けられる機能を実行することを含みうる。この機能は、物理入力要素に関連付けられる機能である。
【００１４】
マッピング機能はデバイスレイアウトを含む一実施形態では、物理入力要素の作動後に物理入力要素に関連付けられる機能を実行する工程は、バッファにスキャンコードを書込みすることと、バッファからスキャンコードを取出しすることと、変更されたデバイスレイアウトを使用して、取出ししたスキャンコードを仮想入力要素コードに変換することと、スキャンコード及び仮想入力要素コードを有するキーボードイベントを呼出ししすることと、キーボードイベントに関連付けられる機能を実行することを含みうる。この機能は、物理入力要素に関連付けられる機能である。
【００１５】
マッピング機能はトランスレーションレイヤを含む一実施形態では、物理入力要素の作動後に物理入力要素に関連付けられる機能を実行する工程は、バッファにスキャンコードを書込みすることと、バッファからスキャンコードを取出しすることと、スキャンコードをオリジナル仮想入力要素コードに変換することと、キーボードデバイスドライバの変更されたトランスレーションレイヤを使用して、オリジナル仮想入力要素コードを新しい仮想入力要素コードに変換することと、スキャンコード及び新しい仮想入力要素コードを有するキーボードイベントを呼出しすることと、キーボードイベントに関連付けられる機能を実行することを含みうる。この機能は、物理入力要素に関連付けられる機能である。
【００１６】
別の実施形態では、ソフトウェアアプリケーション又は複数のソフトウェアアプリケーションのクラスを再設定又は再マッピングする方法は、携帯電子装置上に配置される１つ以上の物理入力要素を、少なくとも１つの第１の実行可能な機能に関連付けることと、第１の実行可能な機能との１つ以上の物理入力要素の関連付けに対し、第２の実行可能な機能との１つ以上の物理入力要素の関連付けを形成するようマッピング機能の変更を行い、それにより、第１の実行可能な機能は、ソフトウェアアプリケーション、又は、複数のソフトウェアアプリケーションのクラスにおけるソフトウェアアプリケーションの動作時の１つ以上の物理入力要素の作動後に起動するよう構成されることを含みうる。第２の実行可能な機能は、一般的に、１つ以上の物理入力要素が押される又は作動される場合にデフォルト状態で実行されるべきソフトウェアアプリケーションに一般的に与えられるデフォルト機能である。
【００１７】
さらに別の実施形態では、１つ以上の物理入力要素と関連付けるよう利用可能である複数の機能を識別するグラフィカルユーザインターフェイスが供給されうる。グラフィカルユーザインターフェイスは、ユーザが物理入力要素の機能関連付けを適用するよう選択可能であるソフトウェアアプリケーションも識別しうる。一例では、グラフィカルユーザインターフェイスは、物理入力要素に対応する入力要素アイコンと、実行可能な機能に対応する機能アイコンを含みうる。そして、ユーザは、物理入力要素に関連付ける機能を指定しうる。
【００１８】
本願に記載する技術は、１つ以上の以下の利点を提供しうる。例えば、快適且つ高速のデータ入力及び装置制御が可能である。これは、入力要素は、装置製造業者によって予め決められる同じ固定位置に依然としてあるが、特定のユーザ、ソフトウェアアプリケーション、又は複数のソフトウェアアプリケーションのクラスに対して各入力要素に関連付けられる機能又は動作は、特定のアプリケーションの使用時にユーザがアクセス又は操作するのにより直感的且つ快適である装置上の位置に位置付けられる入力要素に再マッピングされうるからである。このことはさらに、潜在的に、反復運動過多損傷も減少するであろう。さらに、本願に記載する技術は、様々な携帯電子装置及びソフトウェアアプリケーションに亘ってインターフェイスがどのように動作するかに関して標準規格を作成するよう使用されてもよい。さらに、より多くの機能も与えられうる。例えば、セル式電話機では、キーパッドは、スクローリングをより簡単にするために疑似アナログ制御器として使用されうるし、また、Ｄパッドは、ゲームのアナログ制御を真似るよう使用されうる。
【００１９】
１つ以上の実施形態の詳細を、添付図面及び以下の詳細な説明に記す。他の特徴及び利点は、詳細な説明、図面、及び請求項から明らかとなろう。
【図面の簡単な説明】
【００２０】
【図１ａ−１ｂ】携帯電子装置上の従来のマッピング処理に関与するハードウェア及びソフトウェアコンポーネントの抽象概念を示す図である。
【００２１】
【図２】開示する再マッピング技術とともに使用する設定アプリケーションの一実施形態を示す図である。
【００２２】
【図３】ユーザ設定可能なキーボードデバイスドライバを使用する再マッピング技術の一実施形態を説明するフローチャートである。
【００２３】
【図４】携帯電子装置のデバイスレイアウトを変更するよう設定ソフトウェアを使用する再マッピング技術の一実施形態を説明するフローチャートである。
【００２４】
【図５】ユーザ設定可能なトランスレーションレイヤを使用する再マッピング技術の一実施形態を説明するフローチャートである。
【００２５】
様々な図面における同様の参照符号は、同様の要素を指す。
【発明を実施するための最良の形態】
【００２６】
本願に開示するユーザ設定可能な再マッピング技術の以下の実施形態は、Ｗｉｎｄｏｗｓ（登録商標）Ｍｏｂｉｌｅオペレーティングシステムのコンテキストにおいて記載するが、この技術は、Ｓｙｍｂｉａｎ及びＪ２ＭＥといった他の携帯電子装置オペレーティングシステム、及び、下位又は中間レベルのハードウェアコマンド又はチップセットレベルコマンドといった他のレベルコマンドセットを使用して容易に且つ簡単に実施しうる。
【００２７】
図２は、開示する再マッピング技術とともに使用する設定アプリケーションの一実施形態を示す。設定アプリケーション２１２は、メモリ、又は、携帯電子装置２００に常駐する又は外部の他のコンピュータ可読媒体内に存在しうる。電子装置２００は、携帯電子装置２００の１つ以上の表面上に配置される複数の物理入力要素２０４と、液晶ディスプレイ（ＬＣＤ）といったディスプレイ２０６を含む。設定アプリケーション２１２は、それぞれ物理入力要素２０４に対応する複数の入力要素アイコン２１４と、特定の入力要素アイコン２１４に対してユーザが選択した機能を表す機能アイコン２１６と、シフト１、シフト２、シフト３、及びシフト４機能といった利用可能な機能のうちからユーザが選択するよう使用されうるスクロールバーアイコン２１８と、メニュアイコン２２２、２２３（それぞれ「Ｑｕｉｔ（終了）」及び「Ｓａｖｅ（保存）」とラベルされる）とを有するグラフィカルユーザインターフェイス２１３を含む。設定アプリケーション２１２は、例えば、選択機能の選択物理入力要素２０４へのマッピングといったユーザ固有の及び／又はクラス固有の構成設定を入力するよう使用されうる。或いは、設定アプリケーション２１２は、アプリケーションソフトウェアの１つの又は複数の特定クラスに対する構成設定はアプリケーション開発者によって直接コードされうるのでグラフィカルユーザインターフェイスを含まなくてもよい。
【００２８】
この実施形態では、入力要素アイコン２１４は、静的である、つまり、アイコン２１４の名前及び画面上での見え方はユーザによって変更されないが、他の実施形態では、アイコン２１４の名前及び／又は画面上での見え方は、動的である、つまり、ユーザによって与えられる名前、見え方、又は他の識別情報を反映するよう変更されうる。入力要素アイコン２１４は、ボタン１、ボタン２、ボタン３、及びボタン４を含み、これらは、ユーザによって選択された物理入力要素２０４に対応する。即ち、ユーザは、任意の物理入力要素２０４を選択して入力要素アイコン２１４のそれぞれに対応させうる。この場合、説明の便宜上、ユーザにより選択された入力要素２０４ａ、２０４ｂ、２０４ｃ、及び２０４ｄは、それぞれ、ボタン１、ボタン２、ボタン３、及びボタン４に対応すると仮定する。或いは、グラフィカルユーザインターフェイス２１３は、より多くの又はより少ない数の入力要素アイコン２１４や、携帯電子装置２００上の各物理入力要素に対応する入力要素アイコン２１４（この場合、ユーザは、物理入力要素２０４を特定の入力要素アイコン２１４に割り当てる必要がなくなる）を含みうる。
【００２９】
機能アイコン２１６は、テキスト入力アプリケーション（例えば、電子メール、ワープロ、カレンダー操作、連絡先登録タスク）において特定の入力要素２０４に関連付けられる文字にアクセスするために使用されうる機能へのシフト又はインデックス付けに対応するシフト１、シフト２、シフト３、及びシフト４機能を含む。例えば、携帯電子装置の多くのキーパッド上に見つけられる「９ＷＸＹＺ」とラベル付けされる入力要素２０４について、シフト１機能は、数「９」から開始して左から右に１スペース分ずれる（シフト）又はインデックス付けすることを表す。同様に、シフト２、シフト３、及びシフト４は、それぞれ、数「９」から開始して左から右に２スペース分、３スペース分、及び４スペース分ずれる又はインデックス付けすることを表す。その結果、テキスト入力時に文字「Ｚ」を挿入するためには、ユーザは、ここでは、物理入力要素２０４ｄである、シフト４機能に関連付けられた物理入力要素２０４を押し、同時に又はユーザが選択した所定の時間後に「９ＷＹＺ」とラベル付けされた物理入力要素２０４を押すだけでよい。この入力技術、及びインデックス付け又はシフト機能を使用する他の入力技術は、２００３年１０月３１日に出願し、「Human Interface System」なる名称の同時係属米国特許出願番号第１０／６９９，５５５号により詳細に説明される。この出願の全体は本願に参照として組み込む。
【００３０】
或いは、機能アイコンは、シフト又はインデックス付け機能に加えて、特定の文字を挿入するテキスト機能、呼を開始又は終了する或いは電話番号をかけるのを速めるダイアル機能、方向性動作、発射といったゲーム機能、音量、メニュ選択、又はスクロール機能、又は、テキスト入力アプリケーション（電子メール、ワープロ、カレンダー操作、連絡先登録タスク）、ゲーム、音楽、及びスクローリングといったソフトウェアアプリケーションとインターフェイスするために再マッピングされた物理入力要素２０４が使用されうるソフトウェアアプリケーションの一部として与えられる任意の他の機能といった任意の機能であり得る。
【００３１】
メニュアイコン２２２（「Ｑｕｉｔ（終了）」とラベル付けされる）は、物理入力要素２０４ｆと関連付けられ、一方、メニュアイコン２２３は、物理入力要素２０４ｇと関連付けられる。ユーザは、入力要素２０４ｆを押すことによってグラフィカルユーザインターフェイス２１２を終了するよう選択しうる。同様に、ユーザは、入力要路２０４ｇを押すことによって入力した構成設定を保存するよう選択しうる。
【００３２】
設定アプリケーション２１２は、物理入力要素２０４を、特定のソフトウェアアプリケーション、ソフトウェアアプリケーションの１つ又は複数の特定のクラス、特定のクラス内のソフトウェアアプリケーションのサブセット、又は、携帯電子装置２００上で利用可能な又は実行される全てのソフトウェアアプリケーションに対して選択される機能に再マッピングするよう本願に記載される再マッピング技術とともに使用されうるユーザ固有及び／又はクラス固有の構成設定を作成するよう使用される。ユーザ固有の構成設定は、例えば、ユーザ固有及び／又はクラス固有の構成設定、又は任意の他の構成設定といった構成設定と関連付けられるソフトウェアアプリケーションの使用時にアクセスされうるメモリ又は他のコンピュータ可読媒体内に格納されうる。これらの構成設定は、設定アプリケーション２１２を介してユーザ又はアプリケーション開発者によって、携帯電子装置上で直接、携帯電子装置に接続されるコンピュータ上、ワールドワイドウェブといったインターネット上、又は一部の他の通信モード上で入力されうる。
【００３３】
図３は、ユーザ設定可能なキーボードデバイスドライバを使用する再マッピング技術の一実施形態を説明するフローチャートである。ユーザ設定可能なキーボードデバイスドライバは、図２を参照して説明した設定アプリケーションを使用して実施され、それにより、キーボードドライバコンポーネントＭＤＤの一部である設定可能なレイアウトマネジャを作成する。つまり、スキャンコードを仮想入力要素コードに再マッピングするソフトウェア機能は、設定アプリケーションを介して与えられる新しいスキャンコードを含むユーザ固有の構成設定に基づいて設定可能である。ユーザは、上述したようにユーザ固有の構成設定を入力及び保存すると、保存された構成設定は、Ｗｉｎｄｏｗｓ（登録商標）Ｍｏｂｉｌｅ内のレジストリの一部として格納される。このレジストリには、関連付けられるソフトウェアアプリケーションの使用時に発生するマッピング処理時に変更されたキーボードドライバコンポーネントＭＤＤがアクセスする。この再マッピング技術は、以下の工程を含みうる。
【００３４】
工程３２０では、ユーザは、携帯電子装置２０４上の物理入力要素２０４を押す。次に、工程３２２では、携帯電子装置２０４上のキーボードコントローラが、携帯電子装置２０４上のバッファ内にスキャンコードを書込みする。工程３２５では、キーボードドライバのＰＤＤは、バッファからスキャンコードを取出しするようインタラプトを受信する。次に、工程３２６では、キーボードドライバの変更されたＭＤＤが、ユーザ固有の構成設定を見つけるべくＷｉｎｄｏｗｓ（登録商標）Ｍｏｂｉｌｅのレジストリを確認する。ユーザ固有の構成設定がＷｉｎｄｏｗｓ（登録商標）Ｍｏｂｉｌｅのレジストリ内で見つかる場合、キーボードドライバの変更されたＭＤＤは、工程３２７では、ユーザ固有の構成設定に基づいて、スキャンコードを仮想入力要素コードに変換又はマッピングする。見つからない場合、キーボードドライバコンポーネントＭＤＤは、使用中のソフトウェアアプリケーションのデフォルト設定に基づいて、スキャンコードを仮想入力要素コードに変換又はマッピングする。工程３２８では、キーボードデバイスドライバは、仮想入力要素コード及びスキャンコードを有するキーボードイベント「ｋｅｙｂｄ＿ｅｖｅｎｔ」を呼出しする。工程３３０では、ソフトウェアアプリケーションは、仮想入力要素コード及びスキャンコードを有するキーボードイベントを受信する。次に、アプリケーションソフトウェアは、仮想入力要素コードに関連付けられた機能を実行する。つまり、実行される機能は、ユーザによって指定され、また、ユーザ固有の構成設定の一部として保存された機能である。
【００３５】
図４は、携帯電子装置のデバイスレイアウトを変更するよう設定ソフトウェアを使用する再マッピング技術の一実施形態を説明するフローチャートである。デバイスレイアウトとは、スキャンコード対仮想入力要素コード翻訳を含むハードウェア固有及び言語固有のキーボード情報である。従って、各携帯電子装置につき多くのデバイスレイアウトが存在することが可能である。つまり、同じキーボードデバイスドライバは、異なる言語に対して異なる装置又はキーボードレイアウトを有しうる。例えば、１つの言語の文字及びアクセントは、別の言語のそれとは異なりうるが、入力要素及びハードウェアは同じ又は同様である。図２を参照して説明した設定ソフトウェアを使用して、キーボードデバイスドライバのコード翻訳をプログラム変換することによって各携帯電子装置に対する各言語のデバイスレイアウトを変更しうる。変更されたデバイスレイアウトに基づいて発生する再マッピング技術又は翻訳工程は、以下に説明する。
【００３６】
工程４２０では、ユーザは、携帯電子装置２０４上の物理入力要素２０４を押す。次に、工程４２２では、携帯電子装置２０４上のキーボードコントローラが、携帯電子装置２０４上のバッファ内にスキャンコードを書込みする。工程４２５では、キーボードドライバのＰＤＤは、バッファからスキャンコードを取出しするようインタラプトを受信する。次に、工程４３６では、キーボードドライバのＭＤＤは、変更されたデバイスレイアウトを使用してスキャンコードを仮想入力要素コードに変換又は翻訳する。次に、工程４２８では、キーボードデバイスドライバは、仮想入力要素コード及びスキャンコードを有するキーボードイベント「ｋｅｙｂｄ＿ｅｖｅｎｔ」を呼出しする。翻訳工程４３０では、ソフトウェアアプリケーションは、仮想入力要素コード及びスキャンコードを有するキーボードイベントを受信する。アプリケーションソフトウェアは、次に、仮想入力要素コードに関連付けられる機能を実行する。つまり、実行される機能は、ユーザによって指定され、また、ユーザ固有の構成設定及び変更されたデバイスレイアウトの一部として保存された機能である。
【００３７】
図５は、ユーザ設定可能なトランスレーションレイヤを使用する再マッピング技術の一実施形態を説明するフローチャートを示す。ユーザ設定可能なトランスレーションレイヤは、図２を参照して説明した設定アプリケーションを使用して実施しうる。一般的に、この再マッピング技術は、物理入力要素２０４の押下を仮想入力要素コードにマッピングし、次に、その仮想入力要素コードをユーザ固有の仮想入力要素コードにマッピングする。この再マッピング技術の工程は、以下の通りである。工程５２０では、ユーザは、携帯電子装置２０４上の物理入力要素２０４を押す。次に、工程５２２では、携帯電子装置２０４上のキーボードコントローラが、携帯電子装置２０４上のバッファ内にスキャンコードを書込みする。工程５２５では、キーボードドライバコンポーネントＰＤＤは、バッファからスキャンコードを取出しするようインタラプトを受信する。次に、工程５３２では、キーボードドライバのＭＤＤは、スキャンコードを仮想入力要素コードに変換する。次に、工程５３４では、変更されたキーボードドライバのトランスレーションレイヤが、工程５３２からの仮想入力要素を、新しい仮想入力要素コードに変換する。工程５２８では、キーボードデバイスドライバは、新しい仮想入力要素コード及びスキャンコードを有するキーボードイベント「ｋｅｙｂｄ＿ｅｖｅｎｔ」を呼出しする。処理工程５３０では、ソフトウェアアプリケーションは、新しい仮想入力要素コード及びスキャンコードを有するキーボードイベントを受信する。アプリケーションソフトウェアは、次に、この新しい仮想入力要素コードに関連付けられる機能を実行する。つまり、実行される機能は、ユーザによって指定され、また、ユーザ固有の構成設定の一部として保存される機能である。
【００３８】
図６は、本願に記載する設定アプリケーション及び再マッピング技術が実装されうるセル式ネットワークといったシステムの一部として使用される携帯電子装置を示すブロック図である。携帯電子装置６００は、情報をやり取りするためのバス６０２又は他の通信機構と、バス６０２に結合される情報処理のためのプロセッサ６０４を含む。携帯電子装置６００は更に、バス６０２に結合され、プロセッサ６０４により実行される情報及び命令を格納するランダムアクセスメモリ（ＲＡＭ）又は他のダイナミック記憶装置といったメインメモリ６０６を含む。メインメモリ６０６は更に、一時的変数、又は、プロセッサ６０４によって実行されるべき命令の実行時の他の中間情報を格納するよう使用されうる。携帯電子装置６００は更に、バス６０２に結合され、プロセッサ６０４のための静的情報及び命令を格納する読出し専用メモリ（ＲＯＭ）６０８、又は、他のスタティック記憶装置又は不揮発性メモリを含む。フラッシュメモリ装置、マルチメディアカード、又はセキュアデジタルカードといった記憶装置６１０が設けられ、情報及び命令を格納するようバス６０２に結合される。
【００３９】
携帯電子装置６００は、バス６０２又はブルートゥースといったワイヤレス接続を介して、情報をユーザに表示するための液晶ディスプレイ（ＬＣＤ）といったディスプレイ６１２に結合されうる。キー、ボタン、タッチパッド、タッチスクリーン、回転ダイアル、加速度計、方向パッド、及び圧力感知（例えば、力感知抵抗器又は圧電性の）要素といった物理入力要素を含む入力装置６１４は、バス６０２に結合され、情報及びコマンド選択をプロセッサ６０４に通信する。別のタイプのユーザ入力装置は、プロセッサ６０４に方向情報及びコマンド選択を通信する、また、ディスプレイ６１２上のカーソル又は他の動作（例えば、ゲームプレイ）を制御する、マウス、トラックボール、加速度計、キースイッチ、回転ダイアル、スライダ、又は、方向パッドといったカーソル方向キーといった他のタイプの物理入力要素を含みうるカーソル制御６１６である。この入力装置は、一般的に、装置が平面上の位置を指定することを可能にする第１の軸（例えばｘ）及び第２の軸（例えばｙ）の２つの軸方向での２自由度を有する。入力装置６１４の入力要素は、方向情報及びカーソル制御も与えうる。ディスプレイ６１２、入力装置６１４、及びカーソル制御６１６のうちの１つ以上は、携帯電子装置６００と一体にさても、携帯電子装置の外部の装置と一体にされてもよい。
【００４０】
本願に記載する設定アプリケーション及び入力要素再マッピング技術は、携帯電子装置６００とともに使用してもよい。一実施形態では、入力要素再マッピングは、メインメモリ６０６内に含まれる１つ以上の命令の１つ以上のシーケンスを実行するプロセッサ６０４に呼応して携帯電子装置６００により与えられる。このような命令は、記憶装置６１０又はバッファ又はレジスタといった別のコンピュータ可読媒体からメインメモリ６０６内に読み込まれる。メインメモリ６０６に含まれる命令のシーケンスが実行されると、プロセッサ６０４は、本願に記載する処理工程を実行する。別の実施形態では、入力要素再マッピング技術を実施するために、有線回路が、ソフトウェア命令の代わりに又はソフトウェア命令と組み合わされて使用されうる。従って、本願に記載する実施形態は、ハードウェア回路及びソフトウェアの任意の特定の組み合わせに限定されない。
【００４１】
本願で使用する用語「コンピュータ可読媒体」とは、実行のためにプロセッサ６０４に命令を供給することに関与する任意の媒体を指す。この媒体は、以下に限定されないが、不揮発性媒体、揮発性媒体、及び伝送媒体といった多くの形式を取りうる。不揮発性媒体は、例えば、記憶装置６１０といった、フラッシュメモリ、又は、光学又は磁気ディスクを含む。揮発性媒体は、メインメモリ６０６といったダイナミックメモリを含む。伝送媒体は、バス６０２を構成する線を含む銅線及び光ファイバを含みうる。伝送媒体は更に、無線及び赤外線データ通信時に生成される音波又は光波の形式を取りうる。
【００４２】
コンピュータ可読媒体の一般的な形式は、例えば、フラッシュメモリ装置、ＳＩＭＭカード、ハードディスク、又は任意の他の磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤ、又は任意の他の光学媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、又は任意の他のメモリチップ又はカートリッジ、以下に説明する搬送波、又は、コンピュータが可読である任意の他の媒体を含む。
【００４３】
コンピュータ可読媒体の様々な形式は、実行のためにプロセッサ６０４に１つ以上の命令の１つ以上のシーケンスを運ぶことに関与しうる。例えば、命令は、最初は、遠隔コンピュータの磁気ディスク上に担持されうる。遠隔コンピュータは、その命令をそのダイナミックメモリにロードして、命令及び他のデータを、インターネット、電話網、ワイヤレスネットワーク、又は任意の他の通信又はコンピュータネットワークを介して送信することができる。ワイヤレスネットワークには、ブルートゥース、ＷｉＭａｘ、８０２．１１規格が実装された様々なネットワーク、又はＧＳＭ／ＧＰＲＳ、Ｗ−ＣＤＭＡ（ＵＴＭＳ）、ＩＳ９５、ＣＤＭＡ２０００  １ｘ、又はＣＤＭＡ  １ｘＥＶ−ＤＯセル式ネットワーク、又は、任意の他のタイプのセル式ネットワークを含みうる。
【００４４】
携帯電子装置６００は更に、バス６０２に結合される通信インターフェイス６１８を含む。通信インターフェイス６１８は、ローカルネットワーク６２２に接続されるネットワークリンク６２０に結合する２方向性データ通信を供給する。例えば、通信インターフェイス６１８は、データ通信を供給する、ＩＳＤＮ（Intergrated Services Digital Network）カード、Ｂ−ＩＳＤＮ（Broadband Integrated Services digital Network）、電話又はワイヤレスモデム、又は、当業者には既知である任意の他の通信インターフェイスでありうる。別の例として、通信インターフェイス６１８は、互換性のあるＬＡＮ（ローカルエリアネットワーク）へのデータ通信接続を供給するＬＡＮカードでありうる。ワイヤレスリンクも実装されてもよい。任意のそのような実施において、通信インターフェイス６１８は、様々なタイプの情報を表すデジタルデータストリームを運ぶ電気的、電磁気的、又は光学信号を送受信する。例えば、通信インターフェイス６１８は、遠隔コンピュータにより送信される命令及びデータを受信可能である。通信インターフェイス６１８は、これらの命令及び／又はデータをバス６０２上に置く。バス６０２は、このデータをメインメモリ６０６に運び、プロセッサ６０４はメインメモリ６０６から命令を取出して実行する。メインメモリ６０６により受信される命令は、任意選択的に、プロセッサ６０４による実行前又は後に、記憶装置６１０上に格納されてもよい。
【００４５】
ネットワークリンク６２０は、一般的に、１つ以上のネットワークを介して他のデータ装置にデータ通信を供給する。例えば、ネットワークリンク６２０は、ローカルネットワーク６２２を介して、ホストコンピュータ６２４又はインターネットサービスプロバイダ（ＩＳＰ）６２６によって操作されるデータ機器への接続を供給しうる。ＩＳＰ６２６は、続いて、一般的に「インターネット」６２８と呼ばれるワールドワイドパケットデータ通信ネットワークを介するデータ通信サービスを供給する。ローカルネットワーク６２２及びインターネット６２８はともに、デジタルデータストリームを運ぶ電気的、電磁気的、又は光学信号を使用する。携帯電子装置６００にデジタルデータを運ぶ又は携帯電子装置６００からデジタルデータを運ぶ、様々なネットワークを介する信号、及び、ネットワークリンク６２０上及び通信インターフェイス６１８を介する信号は、情報を運ぶ搬送波の例示的な形式である。
【００４６】
携帯電子装置６００は、ネットワーク、ネットワークリンク６２０、及び通信インターフェイス６１８を介してメッセージを送信し、また、プログラムコードを含むデータを受信可能である。インターネットの例では、サーバ６３０が、インターネット６２８、ＩＳＰ６２６、ローカルネットワーク６２２、及び通信インターフェイス６１８を介してアプリケーションプログラムに対してリクエストされたコードを送信しうる。１つの面では、１つのそのようなダウンロードされたアプリケーションは、本願に記載したような入力要素再マッピングを供給しうる。プロセッサ６０４は、コードを受信するとそのコードを実行する、及び／または、後の実行のために記憶装置６１０又は他の不揮発性記憶装置内に格納しうる。このようにして、携帯電子装置６００は、搬送波の形でアプリケーションコードを入手しうる。
【００４７】
幾つかの実施形態を説明した。他の実施形態は、異なる又は追加の特徴を含んでもよい。例えば、一部の実施形態では、物理入力要素の組み合わせが、例えば、スクロールといった特定の機能を実行するようマッピングされうる。これは、複数の入力要素の作動又は起動のシーケンスと作動間のタイミングの解釈、他の解釈の組み合わせ、又は、入力要素の押下からの作動情報によって行われる。つまり、物理入力要素の押下のシーケンスと入力要素の押下間のタイミングは、デジタル制御をアナログ制御に変換する機能に関連付けられてもよい。
【００４８】
例えば、従来のセル式電話機では、例えば、入力要素２、５、８、及び０を含む中心列といった電話機のキーパッドを形成する物理入力要素列の１つが、スクロール機能にマッピングされうる。この実施形態では、「８」入力要素を押すことによって、カーソル又はスライダの下方向スクローリングを開始し、「０」入力要素を押すことによって、下方向スクローリング速度を増加しうる。同様に、「５」入力要素を押すことによって、カーソル又はスライダの上方向スクローリングを開始し、「２」入力要素を押すことによって、上方向スクローリングの速度を増加しうる。
【００４９】
別の例として、一部の携帯電子装置は、ＧＰＳ（Global Positioning Satellite）情報を処理するための加速度計及び関連回路を使用する。本願に記載する再マッピング技術は、メニュ、ウェブページの領域内のナビゲーション、又は、リスト内のナビゲーションを解釈するよう物理入力要素の押下と組み合わせてＧＰＳ情報を使用してもよい。例えば、ユーザが、携帯電子装置を物理的に下方向に傾けることは、下方向のスクロール機能に関連付けられ、また、ユーザが、携帯電子装置を物理的に上方向に傾けることは、上方向のスクロール機能に関連付けられうる。従って、実施形態も請求項の範囲内である。
【図１ａ】
2009507452.tif 000003
【図１ｂ】
2009507452.tif 000004
【図２】
2009507452.tif 000005
【図３】
2009507452.tif 000006
【図４】
2009507452.tif 000007
【図５】
2009507452.tif 000008
【図６】
2009507452.tif 000009
【国際調査報告】
2009507452.tif 000010
2009507452.tif 000011
2009507452.tif 000012