you can use
system ("eject");
or
fp = popen("eject", "r"); close(fp);
Я использую Linux. Мой переключатель клавиатуры для извлечения CDROM не работает, хотя на экране отображается кнопка извлечения. Я должен заставить это работать. Я знаю, что извлечь компакт-диск с помощью системного вызова так же просто, как
ioctl(cdromfd,CDROMEJECT,0)
Но я не знаю, как подключить исполняемый файл, содержащий указанный выше системный вызов и событие нажатия клавиши извлечения? Или я буду полагаться на уровень ядра? Если то как?
you can use
system ("eject");
or
fp = popen("eject", "r"); close(fp);
You have to configure e.g. your desktop environment to catch the key, and call the eject
command for the correct device. No programming needed.
To find out the key-code, use e.g. the xev
command.
If you don't want the Eject key to be available generally, but only in a program you made, you have to add a check for keyboard events in your event loop and check for the keycode you got from xev
.