Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/jproot/othersrc/mgl/mgl2/MGLAPI.doc,v retrieving revision 1.5 retrieving revision 1.11 diff -u -p -r1.5 -r1.11 --- othersrc/mgl/mgl2/MGLAPI.doc 2000/09/09 03:39:35 1.5 +++ othersrc/mgl/mgl2/MGLAPI.doc 2000/11/16 10:25:00 1.11 @@ -388,28 +388,95 @@ mode に MGL_SK_TRANSLATED を指定します。 -また、MGL_SK_TRANSLATED_WITH_MODIFIER を指定すると、 +また、MGL_SK_EXTRANSLATED を指定すると、 ASCII コード に モデファイヤー情報を付加した値が得られます。 得られるモデファイヤーは、 + MGL_SKM_CAPS MGL_SKM_SHIFT MGL_SKM_CTRL MGL_SKM_ALT -です。ただし、この機能はいまのところ X 版のみサポートしています。 + MGL_SKM_MENU +です。 また、モデファイヤーを取り除くには、 -MGL_SKM_MASK で 論理積を取ってください。 +~MGL_SKM_MASK で & を取ってください。 例: c = get_key(-1); - val = c & MGL_SKM_MASK; + val = c & ~MGL_SKM_MASK; shift = c & MGL_SKM_SHIFT; +注意) モデファイヤーを単独で押し/離した 場合 + モディファイヤー情報 | MGL_SKM_NOTICE + が得られます。MGL_SKM_NOTICE が立っている場合は、キーコードは + 意味を持ちません。 + +set_key_mode で、MGL_SK_EXMODIFIER を指定した場合 + + MGL_SKM_RSHIFT + MGL_SKM_RCTRL + MGL_SKM_RALT + MGL_SKM_RMENU + +も取得できるようになります。 + +extern int mgl_mouse_shift + +3button マウスのエミュレーションのための API + + MENU + 1 + MENU + 2 + MENU + 3 + +のオペレーションで、値が 0-2 に変化します。mouse_down/up のときに +この値を参照して、button1-3 に対応させることが可能。 + +---- + + ge_key_im で使われる 入力メソッド(以下 im) とのインターフェイス 単純に get_key_im を呼ぶだけで、変換ウインドウが適当に出ますが 場所を多少コントロールできるようになりました。 +マウスイベントに関するモードを次のフラグで設定できます。 + + MGL_SK_EXMOUSE_EVENT + +いままで、ボタンを押している状態でないと マウス移動イベントは得られません +でしたが、このフラグがセットされた場合、ボタンを離していても +マウス移動イベントが得られます。 + +キーマップのための関数群。( 対応済は、netbsd+emcons のみ) + +void mgl_get_keymap(int code, char *sym1, char *sym2, char *sym3); + +mgl_get_keymap は、RAW_CODE(code) がどのように 変換されるかを返します。 +sym1 に 通常の 変換シンボル (文字列) +sym2 に シフトされたときの 変換シンボル (文字列) +sym3 に ALT が押されたときの 変換シンボル (文字列) + +が返ります。シンボルの実際のコードが何かを調べるためには、mgl_get_keysym() +を使います。 + +int mgl_get_keysym(char *name); + +シンボルのコードを返します。設定されていない場合 (-1) が返ります。 + +int mgl_set_keysym(char *name, int code); + +一部のシンボルは、mgl_set_keysym を呼ばないと得ることができません。 +code には、任意のコード を指定できます。( virtual_key と同じように +MK_VX を指定することを推奨 ) + +現在この対象になる シンボルは、 + F13 - F24 KP_0 - KP_9 KP_plus KP_minus KP_mult KP_div + KP_delete KP_insert KP_home KP_end KP_up KP_down KP_left KP_right + KP_pageup KP_pagedown KP_begin KP_return KP_execute + break pause print hanzen kanji nuhenkan numlock scrlock select +(等)です。 + void im_avoid_point(int x,int y,int clean) im に対し、避けて欲しい矩形領域を通知します。 @@ -495,9 +562,3 @@ void mgl2_draw_string(struct screen *s,i 2. virtual_key 多分 API が少し変わります。 ---- ここでおしまい。 - - - - - -