Skip to content

Instantly share code, notes, and snippets.

@Michcioperz
Last active August 29, 2015 14:04
Show Gist options
  • Select an option

  • Save Michcioperz/758b54284b832232d80a to your computer and use it in GitHub Desktop.

Select an option

Save Michcioperz/758b54284b832232d80a to your computer and use it in GitHub Desktop.
Flask webapp that presses media keys when asked through webserver on port 7777
#!/usr/bin/env python3
import win32api
from flask import Flask, redirect, url_for
app = Flask(__name__)
def PressKey(hexKeyCode):
win32api.keybd_event(hexKeyCode, 0x48, 0)
def ReleaseKey(hexKeyCode):
win32api.keybd_event(hexKeyCode, 0x48, 0x0002)
@app.route('/next')
def next_track():
return redirect(url_for('next_trackn', nickname="legacy API"))
@app.route('/next/<nickname>')
def next_trackn(nickname):
PressKey(0xB0)
ReleaseKey(0xB0)
return ""
@app.route('/prev')
def prev_track():
return redirect(url_for('prev_trackn', nickname="legacy API"))
@app.route('/prev/<nickname>')
def prev_trackn(nickname):
PressKey(0xB1)
ReleaseKey(0xB1)
return ""
@app.route('/voup')
def volume_up():
return redirect(url_for('volume_upn', nickname="legacy API"))
@app.route('/voup/<nickname>')
def volume_upn(nickname):
PressKey(0xAF)
ReleaseKey(0xAF)
return ""
@app.route('/vodo')
def volume_down():
return redirect(url_for('volume_downn', nickname="legacy API"))
@app.route('/vodo/<nickname>')
def volume_downn(nickname):
PressKey(0xAE)
ReleaseKey(0xAE)
return ""
@app.route('/mute')
def volume_mute():
return redirect(url_for('volume_muten', nickname="legacy API"))
@app.route('/mute/<nickname>')
def volume_muten(nickname):
PressKey(0xAD)
ReleaseKey(0xAD)
return ""
@app.route('/stop')
def playback_stop():
return redirect(url_for('playback_stopn', nickname="legacy API"))
@app.route('/stop/<nickname>')
def playback_stopn(nickname):
PressKey(0xB2)
ReleaseKey(0xB2)
return ""
@app.route('/togl')
def playback_toggle():
return redirect(url_for('playback_togglen', nickname="legacy API"))
@app.route('/togl/<nickname>')
def playback_togglen(nickname):
PressKey(0xB3)
ReleaseKey(0xB3)
return ""
app.run(host='0.0.0.0',port=7777)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment