コピー&ペースト用のソースコードはどこにありますか?

コピー&ペースト用のソースコードはどこにありますか?

Linux システムでコピー ペースト機能を使用しています。初めてカーネル ソースをダウンロードしました。コピー ペースト機能に関連するコードはどこにありますか?

私の推測では、これは Linux のカーネル部分に属していないと思います。もし私が正しければ、どこで見つけることができますか?

答え1

おっしゃる通り、それは Linux カーネルの一部ではありません。カーネルはそのようなジョブに責任を負わないのです。何が責任を負っているかはシステムによって異なります。コンソールでは tty ドライバーが責任を負っている可能性があります。あなたが考えているほとんどのグラフィカル環境はおそらく Xorg に基づいており、Xorg の選択バッファーとクリップボードを使用しています。しかし、Wayland、直接フレーム バッファー ドライバー、または別のグラフィカル エンジンを使用している可能性があり、コードは別の場所にある可能性があります。Xorg の場合でも、Xorg はキーストロークやその他のイベントをアクションにバインドする責任はありません。これはデスクトップ環境またはウィンドウ マネージャーに委ねられますが、さまざまな可能性があります。

環境についてもっと詳しく知らなければ、あなたに指し示すべき単一の場所はありません。 とりあえず、Linux システムの全体的なアーキテクチャと、どのシステムがどのような操作を担当しているかについてもっと読む必要があるようです。 質問に対する最終的な答えは、ほぼ間違いなく複数のレイヤーにまたがって見つかるでしょう。 それを理解するには、それらがどのように連携しているかを知る必要があります。

答え2

drivers/tty/vt/selection.cテキスト モード コンソールでコピー アンド ペーストするには、カーネル ソース ツリー (古いカーネルの場合) でファイルを探しますdrivers/char/selection.c。仮想端末でのカット アンド ペーストのユーザーランド部分はgpm、「汎用マウス インターフェイス」です。

GUIでのコピー&ペーストはカーネルではなくバツ

答え3

gpmコピー&ペーストはデスクトップ環境 (X11、GNOME など) の一部です。コンソールでは、コピー&ペーストはコンソール モード時にマウス機能を提供するサービスによって実行されます。

関連情報