{"id":13501028,"url":"https://github.com/alevchuk/vim-clutch","last_synced_at":"2025-03-29T07:32:18.609Z","repository":{"id":37677472,"uuid":"2281519","full_name":"alevchuk/vim-clutch","owner":"alevchuk","description":"A hardware pedal for improved text editing in Vim","archived":false,"fork":false,"pushed_at":"2021-10-21T17:49:04.000Z","size":9857,"stargazers_count":3558,"open_issues_count":32,"forks_count":53,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-03-19T17:15:22.679Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alevchuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-28T00:39:20.000Z","updated_at":"2025-03-14T16:40:17.000Z","dependencies_parsed_at":"2022-07-20T00:16:54.789Z","dependency_job_id":null,"html_url":"https://github.com/alevchuk/vim-clutch","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/alevchuk%2Fvim-clutch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alevchuk%2Fvim-clutch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alevchuk%2Fvim-clutch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alevchuk%2Fvim-clutch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alevchuk","download_url":"https://codeload.github.com/alevchuk/vim-clutch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246155998,"owners_count":20732355,"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-07-31T22:01:23.009Z","updated_at":"2025-03-29T07:32:18.172Z","avatar_url":"https://github.com/alevchuk.png","language":null,"funding_links":[],"categories":["Others","Fun"],"sub_categories":["RFID"],"readme":"Updates:\n  - 2021-10-21 lots of vim pedal projects sprung up, check our my tweet about new work and great summary by l00sed https://twitter.com/alevchuk/status/1449799391389229058\n\n## VIM Clutch by Aleksandr Levchuk ##\n\nVIM Clutch is a hardware pedal for improved text editing speed for users of the magnificent VIM text editor (\u003ca href=\"http://www.vim.org/about.php\"\u003e1\u003c/a\u003e, \u003ca href=\"http://www.viemu.com/a-why-vi-vim.html\"\u003e2\u003c/a\u003e). When the pedal is pressed down, the pedal types \"i\" causing VIM to go into Insert Mode. When released, it types \u0026lt;Esc\u0026gt; and you are back in Normal Mode.\n\nI just made one and it works great. Here is how I did it.\n\n1. Purchased 2 USB foot switches (pedals) from China:\nI used Ankaka.com and payed 20 USD (includes 2 pedals and shipping to California). \u003cbr /\u003e\nLater I found out the OEM: PC sensor http://www.pcsensor.com/index.php?_a=viewProd\u0026productId=2 $5.50 per pedal\u003cbr /\u003e\nAlso they sell these form Hong Kong:\u003cbr /\u003e\nhttp://www.suntekstore.com/goods-10010504-pc_usb_foot_switch_keyboard_pedal.html\u003cbr /\u003e\nhttp://www.suntekstore.com/goods-10012491-new_usb_fashion_action_control_keyboard_hid_foot_switch_pedal_.html\n\n2. The pedal is programmable via a Windows GUI or on Mac/Linux via https://github.com/rgerganov/footswitch CLI. Once programmed you can plug it into any Mac or Linux and it will work.\n\n3. Unfortunately, only the Pedal Down event is programmable. But we need to be able to press \u0026lt;Esc\u0026gt; as the pedal is release. I emailed PC sensor, reaching out to collaborate but I just got the pedals from the post office today and really wanted it to work. So I stated hacking at it and came up with a solution in a about 1 hour.\n\n  1. I programmed one pedal to send the letter \"i\" and the other to send the \u0026lt;Esc\u0026gt;\n\n  2. Took both pedals apart\n\n\n     \u003cimg src=\"https://github.com/alevchuk/vim-clutch/raw/master/pic1.jpg\" /\u003e\n     \u003cbr /\u003e\n     \u003cbr /\u003e\n     \u003cbr /\u003e\n     \u003cbr /\u003e\n\n\n  3. With electrical tape, attached 2 toothpicks to the plastic blade that goes between the Infrared sensors when the pedal is in the down possition.\n\n\n     \u003cimg src=\"https://github.com/alevchuk/vim-clutch/raw/master/pic2.jpg\" /\u003e\n     \u003cbr /\u003e\n     \u003cbr /\u003e\n     \u003cbr /\u003e\n     \u003cbr /\u003e\n\n\n  4. Placed both sensors boards into one pedal enclosure so that, as the pedal is pressed, first the toothpicks will cross the \u0026lt;Esc\u0026gt; sensor, and after that the plastic blade will enter the \"i\" sensor. As the pedal is release the toothpicks will cross the \u0026lt;Esc\u0026gt; sensor again.\n\n\n     \u003cimg src=\"https://github.com/alevchuk/vim-clutch/raw/master/pic3.jpg\" /\u003e\n     \u003cbr /\u003e\n\n\n## Acknowledgments ##\n\nI would like to say Thank You to:\n\n   * Sean Mahoney for suggesting the name Vim Clutch. \n\n   * Anton Polishko for suggesting pressing \u0026lt;Esc\u0026gt; every time right before pressing \"i\" in order to avoid typing undesired \"i\"s.\n\n   * Tyler Backman for letting me use a Windows computer.\n\n   * The company PC Sensor for building such a clean and incredibly inexpensive device.\n\n\n## Finally the first VIM Clutch ##\n\n  \u003cimg src=\"https://github.com/alevchuk/vim-clutch/raw/master/pic4.jpg\" /\u003e\n\n\n## Has anyone thought of this before? ##\n\nPerhaps, but I was not able to find any mention of using a pedal for Vi or VIM. I searched for this occasionally for a span of more than 2 years. Nothing like this comes up on Google. I shared my idea with a lot of my friends and no one mentioned that this was already thought of by someone else.\n\nAs a result I consider myself the inventor of the VIM Clutch.\n\n\n## Extras ##\n\nPC Sensor also has a triple version of the pedal. I will order two of those as well. I will program:\n\n   * The left pedal to \"I\" - insert at the beginning of the line\n   * The middle pedal to \"i\" - regular insert mode\n   * The right pedal to \"A\" - insert at the end of the line\n\n\n## License ##\n\n\u003cimg alt=\"Creative Commons License\"\nstyle=\"border-width:0\" src=\"http://i.creativecommons.org/l/by-sa/3.0/88x31.png\"\n /\u003e\n\u003cbr /\u003e\u003cspan xmlns:dct=\"http://purl.org/dc/terms/\" \nhref=\"http://purl.org/dc/dcmitype/Text\" property=\"dct:title\" \nrel=\"dct:type\"\u003eThe VIM Clutch work\u003c/span\u003e by \u003ca \nxmlns:cc=\"http://creativecommons.org/ns#\" \nhref=\"https://github.com/alevchuk/vim-clutch\" property=\"cc:attributionName\" \nrel=\"cc:attributionURL\"\u003eAleksandr Levchuk\u003c/a\u003e is licensed under a \u003ca \nrel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/3.0/\"\u003eCreative \nCommons Attribution-ShareAlike 3.0 Unported License\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falevchuk%2Fvim-clutch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falevchuk%2Fvim-clutch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falevchuk%2Fvim-clutch/lists"}