問題タブ [terminfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2068 参照

ncurses - ターミナル/terminfo エントリで適切なマウス サポートを実装する方法は?

ターミナル エミュレーターと対応する terminfo エントリを実装しました。これにより、 emacsmc (ミッドナイト コマンダー)、またはtig (git ブラウザー)などのncursesプログラムを実行できます。ターミナルにマウスサポートを追加したいのですが、特にウィンドウをクリックしてカーソルをemacsに配置します。多くのグーグル検索とstackoverflowの助けを借りて、必要なterminfoフィールド(特に)とコントロール()および「キー」()シーケンスについて学び、端末にマウスボタンイベントを実装しました。次のような小さなncursesプログラムを作成しました。kmous\E[?1000h\E[M...

このプログラムはxtermと私の端末で正常に動作するため、私の端末とその terminfo エントリの両方が完全に間違っていることはありません。

ただし、mcは私の端末でのマウス サポートを認識していないよう\E[?1000hであり、それをアクティブにするためのシーケンスさえ発行していないため、端末が送信するマウス ボタン イベントによって完全に混乱しています (\E[?1000hアクティブ化していなくても)。

私は何が欠けていますか?

0 投票する
1 に答える
1045 参照

terminal - ターミナル/zsh/terminfo のアプリケーション モードとは何ですか?

いくつかの 場所で、端末 (?) がアプリケーション モードであることを確認するためのコマンドが表示されます。その後、キー バインドを設定/クエリするための terminfo データベースが機能します。

このアプリケーション モードが何であるかを見つけようとしましたが、成功しませんでした。このアプリケーション モードとは何ですか? Zshはそれがなくても問題なく動作すると思います。私は正しいですか?キーバインディングが処理された後に設定を解除するのが望ましいでしょうか? curses ベースのアプリケーションのような一部のアプリケーションでは、設定が解除されませんか?

これは、「アプリケーション モードとは何か、またはそれがどのように機能するか」という 1 つの質問にすぎません。他の質問は、あなたが私の問題を理解するのを助けるためだけに書きました.

0 投票する
2 に答える
1197 参照

linux - 特に矢印キーを使用して、gnu画面で複数のキーをバインドする方法

まず、私は Opensuse 13.2 64 ビットと Arch_Linux 64 ビットを使用しています。バインドをどちらでも機能させることはできません (まあ、私が望むバインドです) が、主に Arch_Linux に集中しています。また、openbox wm、xfce4-terminal を使用します。(opensuse では konsole と gnome 3 を使用)、$TERM は ~/.bashrc で xterm-256color に設定されており、opensuse で screen を使用すると screen-256color に切り替えられますが、不思議なことに Arch では変更されません。

Ca down: フォーカスを下に、Ca up: フォーカスを上に、Ca left: フォーカスを左に、などとバインドしたいと思います。~/.screenrc ファイルですべてを試しました

下矢印キーをキャッチするものは何もありません。私は以下を使用できます

ただし、矢印を使用して複数のキーをバインドしたいのですが、私の知る限り、-k オプションでは 1 つのキー (またはシフト + 左/右) のみをバインドできます。実際、文書化されていないため、 -k オプションを使用することもできて幸運です。

これで、infocmp を使用して kd (termcap) と kcud1 (terminfo) を確認しました

ところで、これらのシンボルは、termcapについてはここで、terminfoとその termcap の等価性についてはここで調べることができ ます (実際には、man terminfo を使用できると思います)。

Ctrl-v を使用して下矢印を押すと、

誰でもこれについて行く方法を知っています。-k termcap_name なしで bind を使用できない理由、および/またはキー (ctrl/alt など) と termcap 名の組み合わせを使用する方法を知りたいです。すべての情報をありがとう。

termcapinfo も設定しようとしましたが、うまくいきませんでした。私はそれを正しく使っているとは思わない。

0 投票する
1 に答える
494 参照

c - C プログラムで terminfo を使用して文字列キーをキャプチャする

C プログラムで terminfo キー文字列を取得する良い方法を誰も知りませんか? ncurses の infocmp のように。何も見つかりません:(

誰かが知っていて教えてくれたら、とても感謝します。