Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSDkeyboard

メソッド関数仕様



WSGIappKeyboard 関数の説明

書式
WSDkeyboard* WSGIappKeyboard()
機能
アプリケーションに1つ存在するキーボードの グローバルインスタンスを取得します。 WSDkeyboard クラスへのアクセスはこの関数を介して行います。 また、取得したグローバルインスタンスに対するポインタを 解放してはいけません。
処理
引数
なし。
返値
キーボードインスタンスへのポインタ
注意
この関数はグローバル関数であり、メンバ関数ではありませんので ご注意ください。 また、返されたポインタを解放してはいけません。
サンプル
  WSDkeyboard* keyboard = WSGIappKeyboard();
  //入力のあったキーコードの取得
  long keycode = keyboard->getKey();
  //入力文字列の取得
  WSCstring str = keyboard->getText();
  //キーの種類の判定
  WSCbool cursor = keyboard->isCursorKey();
  WSCbool funckey = keyboard->isFuncKey();
  //修飾キーの状態の取得
  WSCbool shift = keyboard->withShift();
  WSCbool ctrl = keyboard->withCntl();
  WSCbool alt = keyboard->withAlt();
  WSCbool lock = keyboard->withLock();



getText 関数の説明

書式
char* getText(long encode = WS_EN_DEFAULT)
機能
キーボード入力された文字列を取得する関数です。 IME (日本語入力フロントエンド)経由で入力された日本語等は この関数で取得します。 返された文字列を解放してはいけません。 また、キーボード入力イベント WSEV_KEY_PRESS 等が発生した後 でないと、文字列の取得はできません。
処理
引数
なし
返値
キー入力された文字列
注意
返された文字列を解放してはいけません。
また、キーボード入力イベント WSEV_KEY_PRESS 等が発生した後 でないと、文字列の取得はできません。
サンプル
WSGIappKeyboard() を参照してください。



setText 関数の説明

書式
void setText(char* text,long encode = WS_EN_DEFAULT)
機能
キーボード入力された文字列を任意の文字列に置き換える関数です。 WSCvifield/WSCtextField 等で入力文字列を変更する場合は、 WSEV_KEY_HOOK イベントプロシージャ内でこの関数を呼び出します。 エンコーディングを省略した場合は、 デフォルトエンコーディングとみなされます。
処理
引数
(in)char* str 変更後の文字列
(in)long encoding 文字列のエンコーディング
エンコーディングに指定できる値には、 WSCstring クラスのコンストラクタを参照ください。 エンコーディングは省略可能です。
返値
なし
注意
WSCvifield/WSCtextField 等で入力文字列を変更する場合は、 キーボードフックイベント WSEV_KEY_HOOK で起動する イベントプロシージャ内で置換します。 setText() 関数ではキーコードの変更はされませんので、 キーコードを変更する場合は、setKey() を使用してください。
サンプル
  WSDkeyboard* keyboard = WSGIappKeyboard();

  //入力文字列の取得
  WSCstring str = keyboard->getText();

  //入力テキストの変更
  if (!strcmp("a",(char*)str){
    keyboard->setText("A");
  }



getKey 関数の説明

書式
long getKey()
機能
キーボード入力されたキーを取得する関数です。 有効なキー値、キー値の定義は、WSkeysym.h に 定義されていますので、こちらを参照してください。
処理
引数
なし
返値
キー値
注意
有効なキー値、キー値の定義は、include/WSkeysym.h を 参照してください。
サンプル
WSGIappKeyboard() を参照してください。



setKey 関数の説明

書式
void setKey(long key)
機能
キーボード入力されたキーを任意のキーコードに変更する関数です。 setText とは異なり、getText で得られる文字列は変更しません。 WSCvifield/WSCtextField 等で入力キーコードを変更する場合は、 WSEV_KEY_HOOK イベントプロシージャ内でこの関数を呼び出します。
処理
引数
(in)long key 変更後のキーコード
返値
なし
注意
設定可能なキー値、キー値の定義は、include/WSkeysym.h を 参照してください。 WSCvifield/WSCtextField 等で入力文字列を変更する場合は、 キーボードフックイベント WSEV_KEY_HOOK で起動する イベントプロシージャ内で置換します。 setKey() 関数では入力テキストの変更はされませんので 入力テキストを変更する場合は、setText() を利用してください。
サンプル
  WSDkeyboard* keyboard = WSGIappKeyboard();

  //入力キーコードの取得
  long  key = keyboard->getKey();

  //入力キーコードの変更
  if (key == WSK_a){
    keyboard->setKey(WSK_A);
  }



withShift 関数の説明

書式
WSCbool withShift()
機能
シフトキーが同時に押されているかどうかをテストする関数です。
処理
引数
なし。
返値
True = 押されている、False = 押されていない
注意
サンプル
WSGIappKeyboard() を参照してください。



withLock 関数の説明

書式
WSCbool withLock()
機能
キャプスロックキーが同時に押されているかどうかをテストする関数です。
処理
引数
なし。
返値
True = 押されている、False = 押されていない
注意
サンプル
WSGIappKeyboard() を参照してください。



withCntl 関数の説明

書式
WSCbool withCntl()
機能
コントロールキーが同時に押されているかどうかをテストする関数です。
処理
引数
なし。
返値
True = 押されている、False = 押されていない
注意
サンプル
WSGIappKeyboard() を参照してください。



withAlt 関数の説明

書式
WSCbool withAlt()
機能
オルトキーが同時に押されているかどうかをテストする関数です。
処理
引数
なし。
返値
True = 押されている、False = 押されていない
注意
サンプル
WSGIappKeyboard() を参照してください。



isCursorKey 関数の説明

書式
WSCbool isCursorKey()
機能
カーソルコントロールキーかどうかをテストする関数です。 カーソルコントロールキーには、上下左右の矢印キー、PageUp、PageDown、 Begin、End、Next、Home などがあります。
処理
カーソルコントロールキーには、上下左右の矢印キー、PageUp、PageDown、 Begin、End、Next、Home などがあります。
引数
なし。
返値
True = カーソルキー、False = 非カーソルキー
注意
サンプル
WSGIappKeyboard() を参照してください。



isFuncKey 関数の説明

書式
WSCbool isFuncKey()
機能
ファンクションキーかどうかをテストする関数です。 ファンクションキーに該当するものは、F1〜F12 です。 キーボードのレイアウトにより、異なる値を示すことがあるので 注意が必要です。
処理
ファンクションキーに該当するものは、F1〜F12 です。
引数
なし。
返値
True = ファンクションキー、False = 非ファンクションキー
注意
サンプル
WSGIappKeyboard() を参照してください。



setSelectedString 関数の説明

書式
void setSelectedString(char* str,long encoding = WS_EN_DEFAULT)
機能
クリップボードに文字列をコピーする関数です。
処理
セレクションデータとして文字列を設定します。
引数
(in)char* str セレクションに設定する文字列
(in)long encoding 文字列のエンコーディング
エンコーディングに指定できる値には、 WSCstring クラスのコンストラクタを参照してください。 省略すると WS_EN_DEFAULT が指定されます。
返値
なし。
注意
サンプル
  //セレクションデータとして、文字列を設定します。
  WSGIappKeyboard()->setSelectedString("selected string...");



setSelectedString 関数の説明

書式
char* getSelectedString(long encoding = WS_EN_DEFAULT)
機能
クリップボードから文字列データをエンコーディングを 指定して取得する関数です。
処理
セレクションデータとして格納されている文字列を取得します。
引数
(in)long encoding 文字列のエンコーディング
エンコーディングに指定できる値には、 WSCstring クラスのコンストラクタを参照してください。 省略すると WS_EN_DEFAULT が指定されます。
返値
セレクション文字列
注意
サンプル
  //セレクションデータ文字列を取得します。
  char* sstr = WSGIappKeyboard()->getSelectedString();



setGlobalKeyHook 関数の説明

書式
void setGlobalKeyHook(WSCbool(*proc)(long,WSCbool))
機能
グローバルキーフックハンドラを設定する関数です。 グローバルキーフックは、アプリケーションに入力された キーボードイベントをフックします。 フックプロシージャが、False が返された場合は、キーイベントは 配信されずに捨てられます。
処理
グローバルキーフックは、アプリケーションに入力された キーボードイベントをフックします。 フックプロシージャが、False が返された場合は、キーイベントは 配信されずに捨てられます。
引数
(in)WSCbool (*proc(long,WSCbool) フックプロシージャ
返値
なし。
注意
サンプル
//グローバルキーフックハンドラー関数
WSCbool keyhook(long key,WSCbool){
  if (key == WSKEY_return){
    return False; //キーイベントを捨てます。
  }
  return True; //キーを配信します。
}

void sample_proc(WSCbase* object){
  //グローバルキーフックの設定を行います。
  WSGIappKeyboard()->setGlobalKeyHook(keyhook);
}


Document Release 3.20

For Use with Wide Studio Release 3.20, Winter 2002


WideStudio Home | Up to

Copyright(C) T. Hirabayashi, 1999-2002 Last modified: Nov. 28, 2002