Fazendo o trabalho de comutação de ejecção do teclado

1

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?

    
por PaulDaviesC 15.01.2013 / 09:04

2 respostas

3

você pode usar

system ("eject");

ou

fp = popen("eject", "r");
close(fp);
    
por 15.01.2013 / 09:07
1

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 .

    
por 15.01.2013 / 09:08