2007-07-14, 00:05
  #1
Medlem
Vi är några amatörfilmare som håller på att filma en grejj och skulle då vilja ha knappljud på tangentbordet. Någon som vet av något sånt program? Vi har hittat till windows men vi vill gärna ha till ubuntu istället
Citera
2007-07-14, 12:42
  #2
Medlem
blueCommands avatar
Du borde kunna ta en keylogger och skriva ett mycket enkelt bashscript som lyssna på när filen ändras och skicka en PCM-fil till /dev/dsp. Eller liknande
Citera
2007-07-14, 15:05
  #3
Medlem
Redbeards avatar
Hmm... det skulle ju innebära att filen måste sparas i realtid och att de verkligen ska skriva i en fil också och inte i prompten...
Citera
2007-07-14, 15:28
  #4
Medlem
blueCommands avatar
Citat:
Ursprungligen postat av Redbeard
Hmm... det skulle ju innebära att filen måste sparas i realtid och att de verkligen ska skriva i en fil också och inte i prompten...
Ja, detta är inte alls svårt att programmera via en modul till kärnan.
Citera
2007-07-14, 17:07
  #5
Medlem
Ralf2s avatar
Testa köra xset c on, och sen xset c 100.
Detta går isåfall via pc speakern och inte ljudkortet, så jag kan inte testa om det fungerar eftersom min inte är inkopplad. Och det funkar bara under X.
Citera
2007-07-14, 18:03
  #6
Medlem
e5150s avatar
Kod:
#include <stdio.h>
int main(int argc,char *argv[]){
  FILE * keyboard;
  char key[16];
  keyboard=fopen("/dev/input/event0","r");
  if(keyboard==NULL) return 1;
  while(1){
    int i;
    for(i=0;i<16;i++)
      key[i]=(char)fgetc(keyboard);
    if(key[12]==1&&key[8]==1)
      system("cat MINFIL.PCM > /dev/dsp");
  }
  fclose(keyboard);
}
Spara som "filnamn.c" och byt ut "MINFIL.PCM" mot sökvägen till filen som ska spelas upp och kontrollera att /dev/input/event0 verkligen är ditt tangentbord.
Kompilera sedan med "gcc -o knappljud filnamn.c", och kör programmet "knappljud" som root/sudo/however ni gör i ubuntu.
Citera
2007-07-14, 18:50
  #7
Medlem
Rizados avatar
Citat:
Ursprungligen postat av e5150
Kod:
#include <stdio.h>
int main(int argc,char *argv[]){
  FILE * keyboard;
  char key[16];
  keyboard=fopen("/dev/input/event0","r");
  if(keyboard==NULL) return 1;
  while(1){
    int i;
    for(i=0;i<16;i++)
      key[i]=(char)fgetc(keyboard);
    if(key[12]==1&&key[8]==1)
      system("cat MINFIL.PCM > /dev/dsp");
  }
  fclose(keyboard);
}
Spara som "filnamn.c" och byt ut "MINFIL.PCM" mot sökvägen till filen som ska spelas upp och kontrollera att /dev/input/event0 verkligen är ditt tangentbord.
Kompilera sedan med "gcc -o knappljud filnamn.c", och kör programmet "knappljud" som root/sudo/however ni gör i ubuntu.
Man bör väl ha rättigheter på filen också? dvs köra
Kod:
sudo chown root:mygroup /dev/input/event0
Citera
2007-07-14, 19:08
  #8
Medlem
e5150s avatar
Citat:
Ursprungligen postat av Rizado
Man bör väl ha rättigheter på filen också? dvs köra
Kod:
sudo chown root:mygroup /dev/input/event0

Lämpligvis så lämnar man filen som den är. Vanliga users bör inte ha read-permission till inenheter på det sättet, då det skulle leda till att illasinnade personer enkelt kan lägga in en mjukvaru-keylogger för att snappa upp lösenord och liknande. Bäst är att som jag sa bara köra programmet som root/sudo:a under tiden som programmet används.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in