前へ | 次へ | 目次 | 索引 |
キーに定義されたACTIONを調べます。
VMSバインディングはありません。SET KEYおよびGET ACTIONを参照してください。
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. |
キーに定義されたACTIONを得るために,キーを指定します。
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バインディングはありません。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. |
SET KEYによって指定されたキーに定義されたACTIONを得ます。
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バインディングはありません。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. |
最後にGET KEY ACTIONまたはSET KEYが実行された前のSTATEに戻します。
status=IM$RECOVER_KEY_STATE(unit_id)
unit_id
OpenVMS 用法 longword_unsigned データ型 longword_integer (unsigned) アクセス read only 受け渡し方 by reference
OPEN PROFILEによって返された条件値。
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. |
キー名を示す文字列から,そのキーに対応する KEYCODEを得ます。
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。
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. |
KEYCODEの表示文字を調べます。
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"はこの長さになります。
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. |
KEYCODEの表示文字を調べます。
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
アプリケーションで使用しているコードセット。
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. |
前へ | 次へ | 目次 | 索引 |