日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


 

OpenVMSマニュアル
ライブラリ

タイトルページ
目次
まえがき
第1章:IMLIBの機能
第2章:アプリケーションの作成
第3章:ACTIONの実行
第4章:アプリケーションの作成方法
第5章:IMLIBライブラリ・ルーチン
第6章:プログラムの開発
付録A :IMLIBがサポートするKEYSYM
付録B :定義済のシンボル
索引
PDF
OpenVMS ホーム
日本語OpenVMS | HPE 日本(日本ヒューレット・パッカード株式会社)

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


目次 索引




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.




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.



キーのSTATEを初期化します。STATEは"initial"に移ります。

VMSバインディング

status =IM$INIT_KEY_STATE (unit_id)


引数



unit_id

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


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


Cバインディング

status =ImInitKeyState (unit_id)


戻り値

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


引数



int unit_id (Input)

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

説明

INIT KEY STATEは,キーのSTATEを初期化します。状態はシステム定義のSTATEである"initial"に移ります。"initial"はSET KEYBINDが行われたときの最初のSTATEです。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__ILLUNIT Error Illegal unit ID.
IM__NOKEYBIND Error Keybind data is not set yet. Execute SET KEYBIND first.



通常の文字,数字キーに対応するコード,またはファンクション・キーやキーパッド・キーが発生するエスケープ・シーケンスからKEYCODEを作ります。

VMSバインディング

status =IM$ENCODE_KEY (string, keycode)


戻り値



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



引数



string

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


文字列。単純な表示文字に対応するコードまたはエスケープ・シーケンスが指定できます。

keycode

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


表示文字またはエスケープ・シーケンスに対応するKEYCODE。


Cバインディング

keycode =ImEncodeKey (string, length)


戻り値

整数のKEYCODEの値を返します。エラーの場合はENCODE KEYは0を返します。


引数



char *string (Input)

文字列。単純な表示文字に対応するコードまたはエスケープ・シーケンスが指定できます。

int length (Input)

第1パラメータの文字列の長さ。

説明

ENCODE KEYは,表示文字のコードまたはキーボードのキーが発生するエスケープ・シーケンスを,KEYCODEに変換します。エスケープ・シーケンスが正しくなかったり,サポートされていないときにはエラーとなります。

キーは1つずつ渡さなければなりません。2つ以上のキーを同時に渡すとエラーとなります。サポートされている表示文字コードは,ASCIIコードと半角カナコードです。ファンクション・キーなどのようにエスケープ・シーケンスを発生するキーは,エスケープ・シーケンス全体を一度に ENCODE KEY に渡す必要があります。


戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__ILLESCAPE Error Illegal escape sequence.
IM__INVSTRDES Error Invalid string descriptor.



通常の文字,数字キーに対応するコード,またはファンクション・キーやキーパッド・キーが発生するエスケープ・シーケンスからKEYCODEを作ります。

VMSバインディング

status =IM$MC_ENCODE_KEY (string, keycode, codeset)


戻り値



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



引数



string

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


文字列。単純な表示文字に対応するコードまたはエスケープ・シーケンスが指定できます。

keycode

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


表示文字またはエスケープ・シーケンスに対応するKEYCODE。

codeset

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


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


Cバインディング

keycode =ImMCEncodeKey (string, length, codeset)


戻り値

整数のKEYCODEの値を返します。エラーの場合はENCODE KEYは0を返します。


引数



char *string (Input)

文字列。単純な表示文字に対応するコードまたはエスケープ・シーケンスが指定できます。

int length (Input)

第1パラメータの文字列の長さ。

int codeset (Input)

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

説明

MC ENCODE KEYは,表示文字のコードまたはキーボードのキーが発生するエスケープ・シーケンスを,KEYCODEに変換します。エスケープ・シーケンスが正しくなかったり,サポートされていないときにはエラーとなります。

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

シンボル コードセット 半角カナコード
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

半角カナコード以外の入力に対する出力は ENCODE_KEY と同じです。


戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__ILLESCAPE Error Illegal escape sequence.
IM__INVSTRDES Error Invalid string descriptor.
IM__INVCODESET Error Invalid string descriptor.



DECwindowsのKEYSYMの値を対応するKEYCODEに変換します。

VMSバインディング

status =IM$KEYSYM_TO_KEYCODE (keysym, modifier, keycode)


戻り値



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



引数



keysym

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


DECwindowsのKEYSYMの値。

modifier

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


モディファイア・キーを示すビット列。

keycode

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


KEYCODEを示す整数値。


Cバインディング

keycode =ImKeysymToKeycode (keysym, modifier)


戻り値

KEYSYMに対応するKEYCODEを返します。 KEYSYMに対応するKEYCODEがないときは0を返します。


引数



unsigned int keysym (Input)

DECwindowsのKEYSYMの値。

unsigned int modifier (Input)

モディファイア・キーを示すビット列。

説明

KEYSYM TO KEYCODEは,DECwindowsの環境で使われるKEYSYMの値を,IMLIBの KEYCODEに変換します。コントロール・キーのようなモディファイア・キーは,パラメータで指定します。

すべてのモディファイアがサポートされているわけではありませんが,サポートされていないキーが押されたということを示すために,モディファイアは必ず指定してください。

モディファイアを指定するためには以下に示す定数値を使います。

  • IM_M_MOD_SHIFT

  • IM_M_MOD_LOCK

  • IM_M_MOD_CTRL

  • IM_M_MOD_MOD_1 (ALT)

  • IM_M_MOD_MOD_2 (カナLOCK)

モディファイアのビット列は,XLookupStringによって返されるビット列と同じなので, DECwindows のアプリケーションはXLookupStringが返す値をそのままKEYSYM TO KEYCODE に渡すことができます。

KEYSYM TO KEYCODEがサポートするKEYSYMの値は, 付録 A を参照してください。


戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__UNSUPKEYSYM Error Unsupported keysym.


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項