Aug
8
2015

Ludum Dare Theme Slaughter with keyboard

ld_keyvotes

Quick & dirty GreaseMonkey script (for Firefox) to use Ludum Dare voting page with arrow keys (left = good, right = bad, down = slaughter)

Added also TextToSpeech (reads the theme name), commented out by default, see below.


// ==UserScript==
// @name LudumDareThemeSlaughterKeyboard
// @namespace unitycoder.com
// @description use arrowkeys to vote
// @include http://ludumdare.com/theme/*
// @include http://www.ludumdare.com/theme/*
// @version 1.3
// @grant none
// ==/UserScript==
// OPTIONAL(remove comments from next 2 lines) – Reads the theme name : Powered by TTS-API.COM
//var theme = document.querySelector("body > center:nth-child(1) > table:nth-child(4) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > a:nth-child(1)").innerHTML;
//document.querySelector("body").innerHTML +=("<audio autoplay><source src=http://tts-api.com/tts.mp3?q=" + escape(theme) + " type=audio/mpeg></audio>");
// select voting elements
var good = document.querySelector("body > center:nth-child(1) > table:nth-child(4) > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) > a:nth-child(1)");
var bad = document.querySelector("body > center:nth-child(1) > table:nth-child(4) > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(2) > a:nth-child(1)");
var slaughter = document.querySelector("body > center:nth-child(1) > table:nth-child(4) > tbody:nth-child(1) > tr:nth-child(3) > td:nth-child(1) > a:nth-child(1)");
// append arrows
good.innerHTML = "&lt; "+good.innerHTML;
bad.innerHTML += " &gt;";
slaughter.innerHTML = " \\/ "+slaughter.innerHTML+" \\/";
// listen keys
document.onkeydown = KeyListener;
function KeyListener(e)
{
e = e || window.event;
if (e.keyCode == '40') Vote(slaughter); // down arrow (slaughter)
if (e.keyCode == '37') Vote(good); // left arrow (good)
if (e.keyCode == '39') Vote(bad); // right arrow (bad)
}
function Vote(obj)
{
obj.parentElement.style.backgroundColor = "#00FF00";
// window.location = url; // doesnt set header Referer, in case the server checks it
obj.click(); // call click() on the link, sets Referer
}


Related Posts

About the Author:

.fi

2 Comments + Add Comment

Leave a comment

Connect

Twitter View LinkedIn profile Youtube Github Join Discord Twitch Instagram BlueSky

UnityLauncherPro

Get UnityLauncherPRO and work faster with Unity Projects!
*free unity hub alternative

@unitycoder_com

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.