2013-07-17 4 views
0

Je suis en train de créer un script shell dans lequel je lance automatiquement une vidéo en plein écran. Il n'a aucun moyen de quitter sauf si je ferme le Raspberry Pi.Raspberry Pi caractère d'échappement

Qu'est-ce qu'un petit script que je peux utiliser pour lier quelque chose comme "!" quitter l'application?

+0

Comment lancez-vous la vidéo? Je suppose que vous démarrez un certain lecteur vidéo? Si c'est le cas, peut-être que ce joueur a une documentation sur la clé à utiliser pour quitter le mode plein écran. – GolezTrol

+0

C'est omxplayer. –

Répondre

0

J'ai cherché Google pour « omxplayer plein écran de sortie » et trouvé cette réponse, à l'origine posted by dom sur le forum Raspberry Pi:

Changer les modes de télévision ne perd tout contenu sur eux (par exemple la console framebuffer).

Vous pouvez provoquer le framebuffer de la console à recréés avec: fbset -depth 8 & & fbset -depth 16

Ajoutez à cela la fin d'un script qui lance omxplayer.

(pour des points supplémentaires lire la profondeur avant de lancer omxplayer et mettez-le retour à la valeur d'origine après)

Vous pouvez également vérifier issue report on omxplayer's GitHub.

0

Je ne suis pas sûr que cela fonctionnera mais potentiellement vous pourriez utiliser une fenêtre tkinter que vous rendez non visible.

#import the tkinter module for the GUI and input control 
try: 
    # for Python2 
    import Tkinter as tk 
    from Tkinter import * 
except ImportError: 
    # for Python3 
    import tkinter as tk 
    from tkinter import * 

def key(event): 
#create a function to control closing the window in this case 
    if event.keysym == 'Escape': 
     #this currently closes the window however you could add to root.destroy() with 
     #the relevant command for closing the video. 
     root.destroy() 

#initiate root window, remove it from view, bind all keys (you could just  
#bind '<Escape>' if preffered 
root = Tk.tk 
root.withdraW() 
root.bind_all('<Key>', key) 

Je suis conscient que ce nest pas une conception spécifique à votre problème mais il vous permettra de lier la clé d'échappement comme vous désiriez. ceci a arrêté l'application entière dans mon exemple mais vous devrez peut-être inclure des lignes supplémentaires pour assurer que chaque partie de votre application est correctement terminée.