Я написал программу просмотра изображений для интерфейса cli.
Он открывает устройство кадрового буфера, декодирует изображение и записывает необработанные пиксели в кадровый буфер.
Он записывается в c# (точка net core), где я могу легко скрыть курсор и опустить клавиши, чтобы их не интерпретировал терминал.
Все работает нормально, но если пользователь переключает терминал (Ctrl + Alt + Fn), появляется много сообщений об ошибках ядра .
Что я могу сделать, чтобы правильно управлять переключением VT?
Я нашел эти функции, чтобы установить KDSETMODE и KDSKBMODE:
[DllImport("libc.so.6", EntryPoint = "open")]
public static extern int Open(string fileName, int mode);
[DllImport("libc.so.6", EntryPoint = "ioctl", SetLastError = true)]
private extern static int Ioctl(int fd, int request, int data);
[DllImport("libc.so.6", EntryPoint = "read", SetLastError = true)]
internal static extern int Read(int handle, byte[] data, int length);
Но я действительно не знать, как их использовать, обязательно устанавливать эти параметры?
Спасибо.
Если кто-то застрял с этим, см. эту статью