curs_get_wch(3x) curs_get_wch(3x)
get_wch, wget_wch, mvget_wch, mvwget_wch, unget_wch - get (or push back) a wide character from curses terminal key- board - curses 端末キーボードからワイド文字を取得 (または返却) する
#include <curses.h> int get_wch(wint_t *wch); int wget_wch(WINDOW *win, wint_t *wch); int mvget_wch(int y, int x, wint_t *wch); int mvwget_wch(WINDOW *win, int y, int x, wint_t *wch); int unget_wch(const wchar_t wch);
The get_wch, wget_wch, mvget_wch, and mvwget_wch functions read a character from the terminal associated with the current or specified window. In no-delay mode, if no input is waiting, the value ERR is returned. In delay mode, the program waits until the system passes text through to the program. Depending on the setting of cbreak, this is after one character (cbreak mode), or after the first newline (nocbreak mode). In half-delay mode, the program waits until the user types a character or the specified timeout interval has elapsed. get_wch, wget_wch, mvget_wch, mvwget_wch 関数は、 現在のウインドウまたは指定のウインドウに対応する端末から 文字を読み込みます。 遅延なしモードでは、待っている入力がない場合、ERR 値 を 返します。 遅延モードでは、プログラムはシステムから文字を渡されるまで 待ちます。 これは cbreakの設定により、cbreak モードでは 1 文字の後、 nocbreak モードでは最初の改行の後になります。 半遅延モードでは、プログラムは文字がタイプされるか、指定 されたタイムアウトに達するまで待ちます。 Unless noecho has been set, these routines echo the char- acter into the designated window. noecho が設定されていないかぎり、これらのルーチンは 指定されたウインドウに文字をエコーします。 If the window is not a pad and has been moved or modified since the last call to wrefresh, wrefresh will be called before another character is read. ウィンドウがパッドでなく、かつ、最後に wrefresh が 呼び出されて以降に移動または修正された場合、他の文字が読み 込まれる前に wrefresh が呼び出されます。 If keypad is enabled, these functions respond to the pressing of a function key by setting the object pointed to by wch to the corresponding KEY_ value defined in <curses.h> and returning KEY_CODE_YES. If a character (such as escape) that could be the beginning of a function key is received, curses sets a timer. If the remainder of the sequence does arrive within the designated time, curses passes through the character; otherwise, curses returns the function key value. For this reason, many terminals experience a delay between the time a user presses the escape key and the time the escape is returned to the program. keypad が有効な場合、ファンクションキーが押されると これらの関数は応答として、<curses.h> で定義され、押されたキーに 対応する KEY_ の値を wch の指すオブジェクトにセットして KEY_CODE_YES を返します。 ファンクションキーの始まりとなりうる文字 (エスケープなど) を 受け取ると、curses はタイマをセットします。 シーケンスの残りが指定された時間内に来ない場合、文字は そのまま渡されます (訳注: not を補って訳した)。そうでなければ、 ファンクションキーの値が渡されます。 この理由により、大半の端末では、エスケープキーを押してから プログラムにエスケープが渡されるまでに遅れが発生します。 The unget_wch function pushes the wide character wch back onto the head of the input queue, so the wide character is returned by the next call to get_wch. The pushback of one character is guaranteed. If the program calls unget_wch too many times without an intervening call to get_wch, the operation may fail. unget_wch 関数はワイド文字 wch を入力キューの先頭に戻し、 次の get_wch 呼び出しでこのワイド文字が返されるようにします。 1 文字の返却は保証されます。 get_wch 呼び出しをはさむことなく unget_wch を何度も 呼び出すと、操作は失敗することがあります。
The header file <curses.h> automatically includes the header file <stdio.h>. ヘッダファイル <curses.h> はヘッダファイル <stdio.h> を 自動的に取り込みます (include)。 Applications should not define the escape key by itself as a single-character function. アプリケーション自身でエスケープキーを 1 文字の機能として 定義してはいけません。 When using get_wch, wget_wch, mvget_wch, or mvwget_wch, applications should not use nocbreak mode and echo mode at the same time. Depending on the state of the tty driver when each character is typed, the program may produce undesirable results. get_wch、wget_wch、mvget_wch あるいは mvwget_wch を 使うとき、nocbreak モードと echo モードを同時に使っては いけません。 各文字がタイプされた時の tty ドライバの状態によっては、 プログラムは望ましくない結果を出す可能性があります。 All functions except wget_wch and unget_wch may be macros. wget_wch と unget_wch を除くすべての関数は、 マクロであるかもしれないことに注意してください。
When get_wch, wget_wch, mvget_wch, and mvwget_wch func- tions successfully report the pressing of a function key, they return KEY_CODE_YES. When they successfully report a wide character, they return OK. Otherwise, they return ERR. get_wch, wget_wch, mvget_wch, mvwget_wch 関数は ファンクションキーが押されたことを正常に報告するとき KEY_CODE_YES を返します。 正常にワイド文字を報告するとき OK を、その他のときに ERR を 返します。 Upon successful completion, unget_wch returns OK. Other- wise, the function returns ERR. unget_wch は正常終了のとき OK を返します。 その他のときに ERR を返します。 Functions with a "mv" prefix first perform a cursor move- ment using wmove, and return an error if the position is outside the window, or if the window pointer is null. mv で始まる関数は、最初に wmove を使用してカーソルを移動し、 位置がウィンドウの外だった場合、またはウィンドウポインタが ヌルの場合にエラーを返します。
curses(3x), curs_getch(3x), curs_ins_wch(3x), curs_inopts(3x), curs_move(3x), curs_refresh(3x) curs_get_wch(3x)