1

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

ioctl(cdromfd,CDROMEJECT,0)

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

2 ответа2

3

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

system ("eject");

или же

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .