evenements:obc2012:dikogeek
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| obc2012:dikogeek [2013/05/02 14:46] – [Technique] florianh | evenements:obc2012:dikogeek [2024/04/26 14:48] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 61: | Ligne 61: | ||
| - Etc. | - Etc. | ||
| - | === Vidéo === | + | ==== Vidéo |
| J'ai testé différente manières de lire une vidéo sous Raspi. \\ \\ | J'ai testé différente manières de lire une vidéo sous Raspi. \\ \\ | ||
| Ligne 80: | Ligne 81: | ||
| Je vous laisse rajouter des idées si vous avez de l' | Je vous laisse rajouter des idées si vous avez de l' | ||
| - | === Interaction homme/ | + | |
| + | === Vos idées === | ||
| + | |||
| + | * C'est par ici | ||
| + | |||
| + | ==== Interaction homme/ | ||
| Nous aurons probablement besoins d' | Nous aurons probablement besoins d' | ||
| Ligne 90: | Ligne 96: | ||
| * Utiliser un clavier PS2 ou USB et utiliser le contrôle du clavier | * Utiliser un clavier PS2 ou USB et utiliser le contrôle du clavier | ||
| * Registre à décalage | * Registre à décalage | ||
| + | |||
| + | === Vos idées === | ||
| + | |||
| + | * C'est par ici | ||
| + | |||
| + | ===== Code source ===== | ||
| + | < | ||
| + | # | ||
| + | # -*-coding: | ||
| + | |||
| + | #Import des librairies nécessaires | ||
| + | import select, time | ||
| + | import sys, tty, termios | ||
| + | import os | ||
| + | import pygame | ||
| + | import subprocess, signal | ||
| + | from subprocess import Popen, PIPE | ||
| + | from pygame.locals import * | ||
| + | #import RPi.GPIO as GPIO | ||
| + | # | ||
| + | from evdev import InputDevice, | ||
| + | dev = InputDevice('/ | ||
| + | |||
| + | fpid = os.fork() | ||
| + | if fpid!=0: | ||
| + | # | ||
| + | sys.exit(0) | ||
| + | |||
| + | # | ||
| + | # | ||
| + | # | ||
| + | |||
| + | pygame.init() | ||
| + | pygame.display.init() | ||
| + | |||
| + | def accueil(): | ||
| + | ecran = pygame.display.set_mode((0, | ||
| + | image = pygame.image.load("/ | ||
| + | ecran.blit(image, | ||
| + | pygame.display.flip() # | ||
| + | |||
| + | #Fonction appelé lors d'un appuie bouton | ||
| + | def fct_movie(channel): | ||
| + | ecran = pygame.display.set_mode((0, | ||
| + | image = pygame.image.load("/ | ||
| + | ecran.blit(image, | ||
| + | pygame.display.flip() # | ||
| + | #Lancement d'un sous process pour récuperer la liste des processes en cours | ||
| + | p = subprocess.Popen([' | ||
| + | #Vérifie si le process se termine naturellement | ||
| + | while (p.poll() is None): | ||
| + | if dev.read_one() is not None: | ||
| + | os.killpg(p.pid, | ||
| + | break | ||
| + | if p.poll() is not None: | ||
| + | accueil() | ||
| + | |||
| + | # | ||
| + | # | ||
| + | # | ||
| + | accueil() | ||
| + | for event in dev.read_loop(): | ||
| + | if (event.code == ecodes.KEY_A and event.value == 0): | ||
| + | fct_movie(' | ||
| + | if (event.code == ecodes.KEY_B and event.value == 0): | ||
| + | fct_movie(2) | ||
| + | if (event.code == ecodes.KEY_C and event.value == 0): | ||
| + | fct_movie(3) | ||
| + | if (event.code == ecodes.KEY_D and event.value == 0): | ||
| + | fct_movie(' | ||
| + | |||
| + | pygame.display.quit() | ||
| + | pygame.quit() | ||
| + | </ | ||
| + | |||
evenements/obc2012/dikogeek.1367498787.txt.gz · Dernière modification : 2024/04/26 14:48 (modification externe)
