Заставить переключатель извлечения клавиатуры работать

Я использую Linux. Мой переключатель клавиатуры для извлечения CDROM не работает, хотя на экране отображается кнопка извлечения. Я должен заставить это работать. Я знаю, что извлечь компакт-диск с помощью системного вызова так же просто, как

ioctl(cdromfd,CDROMEJECT,0)

Но я не знаю, как подключить исполняемый файл, содержащий указанный выше системный вызов и событие нажатия клавиши извлечения? Или я буду полагаться на уровень ядра? Если то как?

2 ответа

Ты можешь использовать

system ("eject");

или же

fp = popen("eject", "r");
close(fp);

Вы должны настроить, например, среду рабочего стола, чтобы поймать ключ, и вызвать eject Команда для правильного устройства. Программирование не требуется.

Чтобы узнать код ключа, используйте, например, xev команда.

Если вы не хотите, чтобы клавиша Eject была доступна вообще, но только в созданной вами программе, вам нужно добавить проверку событий клавиатуры в свой цикл обработки событий и проверить код клавиши, полученный вами. xev,

Другие вопросы по тегам