[{"element_type":"image_url","content":"https://camo.githubusercontent.com/ca4a69b6ab48386befcc02b6f8c0eccf4f60367008e821db7d0069eb82dc415e/68747470733a2f2f6d656469612e7764776e742e636f6d2f323031382f30362f6163653539343335364c415247452e6a7067","metadata":{"alt":"C3P0","caption":"C3P0 accidently piloting the Starspeeder in Star Tours"}},{"element_type":"text","content":"\n        \u003cp\u003eI really enjoyed getting my first PyBadge because it gave me a way to make my own arcade games using \u003ca href=\"https://arcade.makecode.com\"\u003ehttps://arcade.makecode.com\u003c/a\u003e. I did find that, I\u0026nbsp;\u003cem\u003eactually\u003c/em\u003e like\u0026nbsp;\u003cstrong\u003emaking\u003c/strong\u003e the games even more than playing them, so I thought about ways to have someone\u003cem\u003e (or \u003cstrong\u003esomething\u003c/strong\u003e) else\u003c/em\u003e play the game.\u003c/p\u003e\n\u003cp\u003eI'd heard about the idea of \u003ca href=\"https://en.wikipedia.org/wiki/Mouse_jiggler\" target=\"_blank\"\u003e\"mouse jigglers\" \u003c/a\u003e- mechanical or software cheats to make it look like you were busy working on a computer when you weren't,\u0026nbsp;\u003cem\u003eand\u003c/em\u003e I knew CircuitPython supported HID (Human Interface Device) so I could send keystrokes. So why not \"let C3P0 take the wheel\"?\u003c/p\u003e\n\u003cp\u003eThat led to my s\u003cspan\u003eimple \"mouse jiggler\" for playing arcade games in a browser. (\u003c/span\u003e\u003ca href=\"https://en.wikipedia.org/wiki/Mouse_jiggler\"\u003ehttps://en.wikipedia.org/wiki/Mouse_jiggler\u003c/a\u003e\u003cspan\u003e) (Yes, this actually is a keyboard jiggler that randomly \"fires\" by sending spaces, and maneuvers by randomly sending cursor keys up, down, left and right.)\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003eDesigned to take over playing a simple arcade game in a browser, for example:\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ca href=\"https://makecode.com/_JfAKKf2EUcLv\"\u003ehttps://makecode.com/_JfAKKf2EUcLv\u003c/a\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eThis game lets you steer the Millenium Falcon, and shoot asteroids and Star Destroyers.\u003c/p\u003e\n\u003cp\u003eTouch #1 on the NeoTrinkey to fire lasers, and touch #2 to toggle on/off a random \"jiggler\" that continuosly moves the ship around, randomly shooting.\u003c/p\u003e\n\u003cp\u003eTouch #1 and #2 together to end program.\u003c/p\u003e\n\u003cp\u003eFlashes green when autopilot is engaged, and red when it ends. Ending program flashes gold.\u003c/p\u003e\n\u003cp\u003eProgram file:\u003c/p\u003e\n\u003cp\u003eAutoPilot.py - copy to code.py on the neotrinkey.\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eGithub repo \u003ca href=\"https://github.com/mrklingon/C3P0AutoPilot\" target=\"_blank\"\u003eHERE\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIMPORTANT NOTE: \u003c/strong\u003eProgramming\u0026nbsp; something like this, using the HID interface can be tricky, as having a program randomly spewing spaces, and cursor keys will mangle any text you are editing. When I wrote this, the initial testing had touching #2 just call the jiggle() function. That way I didn't have a program going crazy and messing with the program text. Once it was working, it was safe to build the loop\u0026nbsp; that would continuously call jiggle() and shoot().\u003c/p\u003e\n      ","metadata":{}}]