{"id":18110413,"url":"https://github.com/strd6/boomstick","last_synced_at":"2025-04-14T00:43:46.269Z","repository":{"id":66479855,"uuid":"1914670","full_name":"STRd6/Boomstick","owner":"STRd6","description":"Cross-browser multiplatform JavaScript joystick Input.","archived":false,"fork":false,"pushed_at":"2012-04-20T16:48:26.000Z","size":12251,"stargazers_count":42,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T14:54:59.864Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/STRd6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-06-18T05:47:47.000Z","updated_at":"2024-12-26T23:20:35.000Z","dependencies_parsed_at":"2023-02-20T05:00:52.642Z","dependency_job_id":null,"html_url":"https://github.com/STRd6/Boomstick","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2FBoomstick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2FBoomstick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2FBoomstick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2FBoomstick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/STRd6","download_url":"https://codeload.github.com/STRd6/Boomstick/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248804721,"owners_count":21164127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-01T00:09:15.976Z","updated_at":"2025-04-14T00:43:46.243Z","avatar_url":"https://github.com/STRd6.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Boomstick [Alpha] enables HTML5 and JavaScript games to access native joysticks.\n\nBy using FireBreath to handle cross-browser, multi-platform plugin generation\nand OIS to handle multi-platform joystick input, Boomstick gives JavaScript\napplications total access to joysticks and gamepads.\n\nWorks on all platforms.\n\nWindows\n[Windows Installer][1]\n\nOS X, Linux\n[Chrome Extension][2]\nTODO: Firefox Extension\n\n\nSample HTML\n\n    \u003cobject id=\"plugin\" type=\"application/x-boomstickjavascriptjoysticksupport\" width=\"0\" height=\"0\"\u003e\u003c/object\u003e\n\n    \u003cscript\u003e\n      var joysticks = JSON.parse(plugin.joysticksJSON());\n    \u003c/script\u003e\n\nCalling .joysticksJSON() returns a JSON string containing the current state of all joysticks.\n\n    '[\n      {\"axes\":[0,0,0,0,0],\"buttons\":0,\"pov\":0},\n      {\"axes\":[0,0],\"buttons\":0,\"pov\":0},\n      ...\n    ]'\n    \n    // Read thusly\n    joysticks = JSON.parse(plugin.joysticksJSON())\n\nThe axes property is an array of all the axes. Usually the order is x, y, of primary stick first, but different drivers and gamepads may report them differently.\n\n    joysticks[0].axes[0] // Returns x axis position in range [-32768, 32767]\n    joysticks[0].axes[1] // Returns y axis position in range [-32768, 32767]\n    joysticks[0].axes[2] // ... likewise for additional axes\n\nThe buttons are returned as a bitfield\n\n    BUTTON_0 = 1\n    BUTTON_1 = 2\n    BUTTON_2 = 4\n    BUTTON_3 = 8\n    ...\n\n    // Check the buttons as follows\n    joysticks[0].buttons \u0026 BUTTON_0 // Button 0 is down\n    joysticks[0].buttons \u0026 BUTTON_2 // Button 2 is down\n\nAll joysticks currently return one POV property regardless of how many POV inputs the physical device actually has. Like the buttons is a bitfield.\n\n       UP =    1\n     DOWN =   16\n    RIGHT =  256\n     LEFT = 4096\n\n\n[1]: https://github.com/downloads/STRd6/Boomstick/windows_install.zip \"Windows Installer\"\n[2]: https://chrome.google.com/webstore/detail/ibghgpidpbpnhdgmncpbhioaohmgkigo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrd6%2Fboomstick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrd6%2Fboomstick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrd6%2Fboomstick/lists"}