{"id":20424199,"url":"https://github.com/itpey/keycontrol","last_synced_at":"2026-04-13T04:02:37.927Z","repository":{"id":237843158,"uuid":"791995333","full_name":"itpey/keycontrol","owner":"itpey","description":"keycontrol is a Go-based HTTP server for simulating key presses remotely.","archived":false,"fork":false,"pushed_at":"2024-12-01T01:01:36.000Z","size":58,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T15:00:11.512Z","etag":null,"topics":["automation","control","go","go-lang","golang","http","http-server","linux","macos","presentation","remote-control","self-hosted","windows"],"latest_commit_sha":null,"homepage":"https://github.com/itpey/keycontrol","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itpey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-25T19:14:24.000Z","updated_at":"2024-12-01T01:01:39.000Z","dependencies_parsed_at":"2025-01-15T14:55:17.554Z","dependency_job_id":"79d76463-af4c-4c9d-acab-0db8596d8174","html_url":"https://github.com/itpey/keycontrol","commit_stats":null,"previous_names":["itpey/keycontrol"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itpey%2Fkeycontrol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itpey%2Fkeycontrol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itpey%2Fkeycontrol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itpey%2Fkeycontrol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itpey","download_url":"https://codeload.github.com/itpey/keycontrol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241966978,"owners_count":20050324,"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":["automation","control","go","go-lang","golang","http","http-server","linux","macos","presentation","remote-control","self-hosted","windows"],"created_at":"2024-11-15T07:08:54.907Z","updated_at":"2025-12-31T00:54:47.425Z","avatar_url":"https://github.com/itpey.png","language":"Go","readme":"[//]: # \"Title: keycontrol\"\n[//]: # \"Author: itpey\"\n[//]: # \"Attendees: itpey\"\n[//]: # \"Tags: #go #key #http #automation #go-lang #remote #keyboard\"\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg \u003cimg alt=\"keycontrol is a Go-based HTTP server that allows users to simulate keyboard key presses remotely via HTTP requests. This server is useful for automation, testing, and remote control scenarios KeyControl was created by itpey https://github.com/itpey\" src=\"https://raw.githubusercontent.com/egonelbre/gophers/master/vector/computer/gamer.svg\" width=\"180\" height=\"180\"\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003eKeyControl\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  KeyControl is a Go-based HTTP server that allows users to simulate keyboard key presses remotely via HTTP requests. This server is useful for automation, testing, and remote control scenarios.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pkg.go.dev/github.com/itpey/keycontrol\"\u003e\n    \u003cimg src=\"https://pkg.go.dev/badge/github.com/itpey/keycontrol.svg\" alt=\"Go Reference\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/itpey/keycontrol/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/itpey/keycontrol\" alt=\"license\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# Overview\n\nThis project provides a simple HTTP server that allows you to simulate key presses on the server machine by making HTTP requests with specific parameters. It uses the [micmonay/keybd_event](https://github.com/micmonay/keybd_event) package to handle the keyboard events.\n\n## Features\n\n- Simulate keyboard key presses via HTTP endpoints\n- Support for various key combinations (e.g., Ctrl+Alt+Delete)\n- Easy-to-use API for integrating with other applications\n- Customizable port and authentication token for security\n\n# Installation\n\n## Using Binary Releases\n\n- Go to the [Releases](https://github.com/itpey/keycontrol/releases)\n- Download the latest release for your operating system.\n\n## Using go install\n\nIf you have Go installed on your system, you can install the latest version of KeyControl directly using the go install command:\n\n```bash\ngo install github.com/itpey/keycontrol@latest\n```\n\nEnsure that your `GOBIN` directory is in your `PATH` for the installed binary to be accessible globally.\n\n# Usage\n\nOnce installed, you can use KeyControl from the command line:\n\n```bash\n$ keycontrol -h\n```\n\n# API Endpoints\n\n## `/health` (GET)\n\nCheck the health status of the server.\n\n### Example:\n\n```bash\ncurl -X GET \"http://localhost:8080/health\"\n```\n\n## `/press` (POST)\n\nSimulate key press.\n\n### Parameters:\n\n- `keycodes (required)`: Comma-separated list of virtual key codes to simulate.\n- `shift (optional)`: Set to true to press SHIFT key.\n- `ctrl (optional)`: Set to true to press CTRL key.\n- `alt (optional)`: Set to true to press ALT key.\n- `super (optional)`: Set to true to press Windows/Super key.\n\n### Example:\n\n```bash\ncurl -X POST \"http://localhost:8080/press?keycodes=A,B,C\u0026ctrl=true\" \\\n  -H \"Authorization: keycontrol\"\n```\n\n# Configuration\n\n## Command-line Flags\n\nYou can configure the KeyControl server using the following command-line flags:\n\n- `-- port, -p`: Specifies the server port (default: 8080).\n- `--auth, -a`: Specifies the authentication token (default: keycontrol).\n\n### Example:\n\n```bash\n$ keycontrol -p 9000 -a mytoken\n```\n\n## Environment Variables\n\nCustomize the server port and authentication token using the following environment variables:\n\n- `KEY_CONTROL_PORT`: Sets the server port (default: 8080).\n- `KEY_CONTROL_AUTH_TOKEN`: Sets the authentication token (default: keycontrol).\n\n### Example:\n\n```bash\n$ export KEY_CONTROL_PORT=9000\n$ export KEY_CONTROL_AUTH_TOKEN=mytoken\n$ keycontrol\n```\n\n# Key Code Mapping\n\nRefer to the source code for a complete list of key codes.\n\n# Feedback and Contributions\n\nIf you encounter any issues or have suggestions for improvement, please [open an issue](https://github.com/itpey/keycontrol/issues) on GitHub.\n\nWe welcome contributions! Fork the repository, make your changes, and submit a pull request.\n\n# License\n\nKeyControl is open-source software released under the Apache License, Version 2.0. You can find a copy of the license in the [LICENSE](https://github.com/itpey/keycontrol/blob/main/LICENSE) file.\n\n# Author\n\nKeyControl was created by [itpey](https://github.com/itpey)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitpey%2Fkeycontrol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitpey%2Fkeycontrol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitpey%2Fkeycontrol/lists"}