Где исходный код для копирования-вставки?

Где исходный код для копирования-вставки?

Я работаю с функцией копирования-вставки в системе Linux. Я впервые загрузил исходный код ядра. Где я могу найти код, связанный с функцией копирования-вставки?

Я предполагаю, что он не относится к части ядра Linux. Если я прав, где я могу его найти?

решение1

Вы правы, это не часть ядра Linux. Ядро просто не отвечает за такие задачи. Что это, зависит от вашей системы. На консоли это может быть ваш драйвер tty, в большинстве графических сред, о которых вы думаете, вероятно, основаны на Xorg и используют буфер выбора Xorg и буфер обмена; но вы также можете использовать Wayland; драйвер прямого буфера кадров или другой графический движок, и код может быть в другом месте. Даже в случае Xorg, Xorg не отвечает за привязку нажатий клавиш и других событий к действиям. Это будет происходить в вашей среде рабочего стола или диспетчере окон, которые могут быть многими вещами.

Нет единого места, куда можно было бы вас направить без ОЧЕНЬ подробной информации о вашей среде. В то же время, похоже, вам нужно больше почитать об общей архитектуре системы Linux и о том, какие системы отвечают за какие операции. Окончательный ответ на ваш вопрос почти наверняка будет найден в более чем одном слое, и вам нужно знать, как они работают вместе, чтобы понять это.

решение2

Для копирования-вставки в текстовом режиме консоли найдите файл drivers/tty/vt/selection.cв дереве исходников ядра ( drivers/char/selection.cв старых ядрах). Часть пользовательского пространства для копирования-вставки на виртуальных терминалах — это gpm«интерфейс мыши общего назначения».

Копирование-вставка в графическом интерфейсе обрабатывается не ядром, аИкс.

решение3

Копировать-вставить является частью среды рабочего стола (X11, GNOME и т. д.). На консоли копировать-вставить будет/может быть выполнено службой, gpmкоторая предоставляет возможности мыши в консольном режиме.

Связанный контент