{"id":21475269,"url":"https://github.com/rinx/trackpoint-iris","last_synced_at":"2026-01-31T07:32:24.159Z","repository":{"id":151021051,"uuid":"126662341","full_name":"rinx/trackpoint-iris","owner":"rinx","description":"How to implement a trackpoint to Iris mechanical keyboard","archived":false,"fork":false,"pushed_at":"2018-03-25T03:47:09.000Z","size":551,"stargazers_count":46,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-20T13:58:01.716Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/rinx.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-25T03:46:47.000Z","updated_at":"2025-08-15T00:14:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"4f5727a6-75b2-4feb-9fd4-6eb3f8b975b2","html_url":"https://github.com/rinx/trackpoint-iris","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rinx/trackpoint-iris","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinx%2Ftrackpoint-iris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinx%2Ftrackpoint-iris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinx%2Ftrackpoint-iris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinx%2Ftrackpoint-iris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rinx","download_url":"https://codeload.github.com/rinx/trackpoint-iris/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinx%2Ftrackpoint-iris/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28933257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T04:05:25.756Z","status":"ssl_error","status_checked_at":"2026-01-31T04:02:35.005Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-23T10:40:18.263Z","updated_at":"2026-01-31T07:32:24.154Z","avatar_url":"https://github.com/rinx.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"How to implement a trackpoint to Iris keyboard\n===\n\nOverview\n---\n\n![overview](./img/overview.jpg)\n\nThis is a brief guide to implement a trackpoin to [Iris keyboard](https://keeb.io/products/iris-keyboard-split-ergonomic-keyboard).\n\n![trackpoint](./img/trackpoint.jpg)\n\n\nAssembling\n---\n\nI implement a trackpoint following [alonswartz/trackpoint](https://github.com/alonswartz/trackpoint).\nHowever, in alonswartz's guide, it uses USART version of [QMK's PS/2 mouse support](https://github.com/rinx/qmk_firmware_iris_rinx/blob/ebce5953fe4f1176706b5f53b95dd17ad0dfe4be/rules.mk#L19-L20).  \nUSART version cannot be used for Iris keyboard because D5 pin on pro micro cannot be used.\nIn this guide, interrupt version that requires INT or PCINT pin for clock and any pin for data is used.\n\nFortunately, Iris has breakout pins (RGB1, C6, VCC, GND, F4, F5, and ICSP pins) on its PCB.\nHere, I use RGB1 (D3) pin for clock and C6 pin for data.\n\n![pcb](./img/pcb.jpg)\n\nYou can identify your trackpoint pinouts from the list on [https://geekhack.org/index.php?topic=55960.msg1291412#msg1291412](https://geekhack.org/index.php?topic=55960.msg1291412#msg1291412).\nI extracted a trackpoint module from X61 keyboard. It is same with R61's.\n\nIt is useful to use PCB hole (maybe it is a hole for spacers) for trackpoint stem.\nOn the other hand, you have to make a stem hole in case.\nI cut acrylic plates like following.\n\n![case](./img/case.png)\n\nIt has two holes on the bottom plate to fix the trackpoint module.\n\n\nCode\n---\n\nHere's my codes for Trackpoint Iris.\n\nIn the `rules.mk`, you have to [disable `RGBLIGHT_ENABLE`](https://github.com/rinx/qmk_firmware_iris_rinx/blob/ebce5953fe4f1176706b5f53b95dd17ad0dfe4be/rules.mk#L15) because we use RGB1 (D3) pin for PS/2 clock.\nAnd you have to [enable PS2 Mouse support](https://github.com/rinx/qmk_firmware_iris_rinx/blob/ebce5953fe4f1176706b5f53b95dd17ad0dfe4be/rules.mk#L19-L20) like this.\n\nIn [config.h](https://github.com/rinx/qmk_firmware_iris_rinx/blob/ebce5953fe4f1176706b5f53b95dd17ad0dfe4be/config.h#L70-L91), you have to set which pins are used for PS/2 mouse support.\n\n\nReferences\n---\n\n- [Iris keyboard](https://keeb.io/products/iris-keyboard-split-ergonomic-keyboard)\n- [alonswartz/trackpoint](https://github.com/alonswartz/trackpoint)\n- [QMK firmware's PS/2 Mouse Support](https://docs.qmk.fm/feature_ps2_mouse.html)\n- [https://geekhack.org/index.php?topic=55960.msg1291412#msg1291412](https://geekhack.org/index.php?topic=55960.msg1291412#msg1291412)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frinx%2Ftrackpoint-iris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frinx%2Ftrackpoint-iris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frinx%2Ftrackpoint-iris/lists"}