日本語OpenVMS
IMLIB/OpenVMS ライブラリ・
リファレンス・マニュアル


前へ 次へ 目次 索引



GET KEY ACTION

キーに定義されたACTIONを調べます。

VMSバインディング

VMSバインディングはありません。SET KEYおよびGET ACTIONを参照してください。

Cバインディング

status =ImGetKeyAction (unit_id, key_code, action_list)


戻り値

GET KEY ACTIONは条件値を返します。


引数

int unit_id (Input)


データ型
アクセス


OPEN PROFILEによって返された整数値。

int key_code (Input)


データ型
アクセス


キーの整数表現(KEYCODE)。
KEYCODEの定数表記は 付録 B を参照してください。

int *action_list [] (Output)


データ型
アクセス


ACTIONが返される配列。配列の最後のエレメントは値0で示されます。
ACTIONの定数表記は 付録 B を参照してください。


説明

GET KEY ACTIONは,キーに定義されたACTIONを得るために使われます。ACTIONは整数の配列として返されます。同じキーであっても,そのときの状態によってACTIONが変わることがありますので,キーが入力されるたびにGET KEY ACTIONによって実行するACTIONを得てください。

"Key not defined"という条件値は,そのキーがその状態で,ユーザによって定義されていないことを示します。この場合は,アプリケーションが定義する機能を実行します。

"Wait for next key"という条件値は,[GOLD]キーのようなそのキーだけでは完結しないキーが入力されたことを示します。この場合,アプリケーションは GET KEY ACTION をもう一度呼んで,複数キーに定義された ACTIONを得なければなりません。アプリケーションは,GET KEY ACTIONを"Wait for next key"が出なくなるまで続けることになります。複数キーは最大16個まで許されています。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__ILLUNIT Error Illegal unit ID.
IM__INSVIRMEM Error Insufficient virtual memory.
IM__NOKEYBIND Error Keybind data is not set yet. Execute SET KEYBIND first.
IM__KEYNOTDEFINED Information The specified key is not defined. Execute application defined action.
IM__PARTIALKEY Information The key is middle of a multiple key definition. Wait for the next key to complete the key definition.
IM__NOACTION Information The key has no action.


SET KEY

キーに定義されたACTIONを得るために,キーを指定します。

VMSバインディング

status =IM$SET_KEY (unit_id, key_code)


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write_only
受け渡し方 by value



引数

unit_id

OpenVMS 用法 longword_unsigned
データ型 longword_integer (unsigned)
アクセス read only
受け渡し方 by reference


OPEN PROFILEによって返された条件値。

key_code

OpenVMS 用法 longword_unsigned
データ型 longword_integer (unsigned)
アクセス read only
受け渡し方 by reference


キーの整数表現(KEYCODE)。
KEYCODEの定数表記は 付録 B を参照してください。


Cバインディング

Cバインディングはありません。GET KEY ACTIONを参照してください。

説明

SET KEYはGET ACTIONと組み合わされて,キーに定義されたACTIONを得るために使われます。SET KEYでキーを指定し,GET ACTIONを繰り返し呼ぶことで複数の ACTIONを得ます。同じキーであってもそのときの状態によってACTIONが変わることがありますので,キーが入力されるたびにACTIONを得てください。

"Key not defined"という条件値は,そのキーがその状態で,ユーザによって定義されていないことを示します。この場合は,アプリケーションが定義する機能を実行します。

"Wait for next key"という条件値は,[GOLD]キーのようなそのキーだけでは完結しないキーが入力されたことを示します。この場合,アプリケーションは SET KEY をもう一度呼ばなければなりません。複数キーは最大16個まで許されています。アプリケーションはSET KEYを "Wait for next key"が出なくなるまで続けることになります。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__ILLUNIT Error Illegal unit ID.
IM__INSVIRMEM Error Insufficient virtual memory.
IM__NOKEYBIND Error Keybind data is not set yet. Execute SET KEYBIND first.
IM__KEYNOTDEFINED Information The specified key is not defined. Execute application defined action.
IM__PARTIALKEY Information The key is middle of a multiple key definition. Wait for the next key to complete the key definition.
IM__NOACTION Information The key has no action.


GET ACTION

SET KEYによって指定されたキーに定義されたACTIONを得ます。

VMSバインディング

status =IM$GET_ACTION (unit_id, action)


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write_only
受け渡し方 by value



引数

unit_id

OpenVMS 用法 longword_unsigned
データ型 longword_integer (unsigned)
アクセス read only
受け渡し方 by reference


OPEN PROFILEによって返された整数値。

action

OpenVMS 用法 longword_unsigned
データ型 longword_integer (unsigned)
アクセス write only
受け渡し方 by reference


次に実行されるACTION。
ACTIONの定数表記は 付録 B を参照してください。


Cバインディング

Cバインディングはありません。GET KEY ACTIONを参照してください。

説明

SET KEYはGET ACTIONと組み合わされて,キーに定義されたACTIONを得るために使われます。SET KEYでキーを指定し,GET ACTIONを繰り返し呼ぶことで,複数の ACTION を得ます。同じキーであってもそのときの状態によってACTIONが変わることがありますので,キーが入力されるたびにACTIONを得てください。最後のアクションを渡す際に,GET ACTION は action にアクションコードを入れてIM__LASTACTION を返します。IM__LASTACTION をエラーコードと間違って処理しないようにしてください。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__LASTACTION Success This is the last action.
IM__ILLUNIT Error Illegal unit ID.
IM__KEYNOTSET Error Key is not specified yet. Call SET KEY before calling GET ACTION.


RECOVER KEY STATE

最後にGET KEY ACTIONまたはSET KEYが実行された前のSTATEに戻します。

VMSバインディング

status=IM$RECOVER_KEY_STATE(unit_id)


引数

unit_id

OpenVMS 用法 longword_unsigned
データ型 longword_integer (unsigned)
アクセス read only
受け渡し方 by reference


OPEN PROFILEによって返された条件値。


Cバインディング

status =ImRecoverKeyState (unit_id)


戻り値

RECOVER KEY STATEは条件値を返します。


引数

int unit_id (Input)


データ型
アクセス


OPEN PROFILEによって返された整数値。


説明

IMLIBに与えられた最近のキー,または最近の複数キーによるACTIONが不正の場合,あるいはそのACTIONの実行結果が不正の場合に,変換中の文字列を確定することを避けるため,そのキーまたは複数キーが押される直前のSTATEに回復します。

注意: 直前のSTATEに戻すのは,アプリケーションの責任です。最近のACTIONに DONEが入っていた場合,DONEの前の状態に戻すことはできません。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__NORECOVER Warning No previous state to recover.
IM__ILLUNIT Error Illegal unit ID.
IM__NOKEYBIND Error Keybind data is not set up yet.


GET KEYCODE

キー名を示す文字列から,そのキーに対応する KEYCODEを得ます。

VMSバインディング

status =IM$GET_KEYCODE (key_name, keycode)


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write_only
受け渡し方 by value



引数

key_name

OpenVMS 用法 char string
データ型 char string
アクセス read only
受け渡し方 by descriptor


KEYCODEを知りたいキーのキー名を示す文字列。個々のキーのキー名については,『ユーザ・キー定義 利用者の手引き』を参照してください。

keycode

OpenVMS 用法 longword_unsigned
データ型 longword_integer (unsigned)
アクセス write only
受け渡し方 by reference


キー名に対応するKEYCODE。


Cバインディング

keycode =ImGetKeycode (key_name)


戻り値

GET KEY CODEはパラメータに渡されたキー名に対応するKEYCODEを返します。渡された文字列がキー名でない場合はGET KEYCODEは0を返します。


引数

char *key_name (Input)


データ型
アクセス


KEYCODEを知りたいキーのキー名を示す文字列。


説明

GET KEYCODEは,キー名を示す文字列を整数値KEYCODEに変換します。大文字・小文字は区別されません。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__NOTKEYNAME Error The string is not a key name.
IM__INVSTRDES Error Invalid string descriptor.


GET CHARACTER

KEYCODEの表示文字を調べます。

VMSバインディング

status =IM$GET_CHARACTER (keycode, ch-string, ch-len)


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write_only
受け渡し方 by value



引数

keycode

OpenVMS 用法 longword_unsigned
データ型 longword_integer (unsigned)
アクセス read only
受け渡し方 by reference


整数値KEYCODE。

ch-string

OpenVMS 用法 char string
データ型 char string
アクセス write only
受け渡し方 by descriptor


KEYCODEによって指定されたキーの表示文字。指定されたKEYCODEがカナキーのKEYCODEのときには,半角カタカナ・コードが返されます。

ch-len

OpenVMS 用法 word_unsigned
データ型 word (unsigned)
アクセス write only
受け渡し方 by reference


"ch-string"に書き込まれた文字のバイト数。固定長文字列の場合のパディング文字は含みません。"ch-length"はこのバイト数を示す 1 ワードのアドレスです。文字列がch-stringデスクリプタによって指定された長さに切られたときには,"ch-length"はこの長さになります。


Cバインディング

status =ImGetCharacter (keycode, ch)


戻り値

GET CHARACTERは条件値を返します。


引数

unsigned int keycode (Input)


データ型
アクセス


整数値KEYCODE。

unsigned char *ch (Output)


データ型
アクセス


KEYCODEに対応する表示文字の文字列。この文字列はヌル文字で終了します。指定されたKEYCODEがカナキーのKEYCODEのときには,半角カタカナ・コードが返されます。


説明

GET CHARACTERは,KEYCODEに対応する表示文字を得るのに使われます。もし,'g'キーに対応するKEYCODEをGET CHARACTERに渡すと,文字列"g"を得ることができます。

表示文字は最大1バイトなので,アプリケーションは"ch"のために,終端のヌル文字を含めて最低2バイト用意しなければなりません。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__NOPRINTABLE Information The keycode is not for a key of printable character.
IM__INVKEYCODE Error Invalid keycode
IM__INVSTRDES Error Invalid string descriptor.
IM__FATERRLIB Fatal Fatal library internal error.


MC GET CHARACTER

KEYCODEの表示文字を調べます。

VMSバインディング

status =IM$MC_GET_CHARACTER (keycode, ch-string, ch-len,codeset)


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write_only
受け渡し方 by value



引数

keycode

OpenVMS 用法 longword_unsigned
データ型 longword_integer (unsigned)
アクセス read only
受け渡し方 by reference


整数値KEYCODE。

ch-string

OpenVMS 用法 char string
データ型 char string
アクセス write only
受け渡し方 by descriptor


KEYCODEによって指定されたキーの表示文字。指定されたKEYCODEがカナキーのKEYCODEのときには,半角カタカナ・コードが返されます。

ch-len

OpenVMS 用法 word_unsigned
データ型 word (unsigned)
アクセス write only
受け渡し方 by reference


"ch-string"に書き込まれた文字のバイト数。固定長文字列の場合のパディング文字は含みません。"ch-length"はこのバイト数を示す1ワードのアドレスです。文字列がch-stringデスクリプタによって指定された長さに切られた場合には,"ch-length"はこの長さになります。

codeset

OpenVMS 用法 longword_unsigned
データ型 longword_integer(unsigned)
アクセス read only
受け渡し方 by reference


アプリケーションで使用しているコードセット。


Cバインディング

status =ImMCGetCharacter (keycode, ch, codeset)


戻り値

GET CHARACTERは条件値を返します。

引数

unsigned int keycode (Input)


データ型
アクセス


整数値KEYCODE。

unsigned char *ch (Output)


データ型
アクセス


KEYCODEに対応する表示文字の文字列。この文字列はヌル文字で終了します。指定されたKEYCODEがカナキーのKEYCODEのときには,半角カタカナ・コードが返されます。

int codeset (Input)


データ型
アクセス


アプリケーションで使用しているコードセット。


説明

MC GET CHARACTERは,KEYCODEに対応する表示文字を得るのに使われます。もし,'g'キーに対応するKEYCODEをMC GET CHARACTERに渡すと,文字列"g"を得ることができます。

MC GET CHARACTER は,コードセットにより異なる半角カナのコードに対応しています。コードセットして指定できるシンボルは次のとおりです。

シンボル コードセット 半角カナコード
IM$C_DECKANJI DEC漢字 0xA1 〜 0xDF
IM$C_SDECKANJI SuperDEC漢字 SS2(0x8E) + 0xA1 〜 0xDF
IM$C_EUCJP 日本語EUC SS2(0x8E) + 0xA1 〜 0xDF
IM$C_SJIS シフトJIS 0xA1 〜 0xDF

表示文字は最大2バイトなので,アプリケーションは"ch"のために,終端のヌル文字を含めて最低3バイト用意しなければなりません。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__NOPRINTABLE Information The keycode is not for a key of printable character.
IM__INVKEYCODE Error Invalid keycode
IM__INVSTRDES Error Invalid string descriptor.
IM__FATERRLIB Fatal Fatal library internal error.
IM__INVCODESET Error Invalid Codeset Specified.


前へ 次へ 目次 索引