você pode usar
system ("eject");
ou
fp = popen("eject", "r");
close(fp);
Estou usando o Linux. Meu comutador de teclado para ejetar o CD-ROM não funciona, embora exiba um botão de ejeção na tela. Eu preciso fazer isso funcionar. Eu sei ejetar um cdrom usando a chamada do sistema é tão simples quanto
ioctl(cdromfd,CDROMEJECT,0)
Mas eu não sei como conectar o executável que contém a chamada de sistema acima e o evento de pressionar a tecla de ejeção? Ou devo confiar no nível do kernel? Se então como?
você pode usar
system ("eject");
ou
fp = popen("eject", "r");
close(fp);
Você tem que configurar, e. seu ambiente de área de trabalho para capturar a chave e chame o comando eject
para o dispositivo correto. Nenhuma programação necessária.
Para descobrir o código-chave, use, por exemplo, o comando xev
.
Se você não quer que a tecla Eject esteja disponível em geral, mas apenas em um programa que você fez, você precisa adicionar uma verificação de eventos de teclado no seu loop de evento e verificar o código você obteve de xev
.