1 điểm bởi GN⁺ 2025-10-10 | 1 bình luận | Chia sẻ qua WhatsApp
  • KEYER là bàn phím chorded dùng bằng một tay, cho phép chuyển động ngón tay ở mức tối thiểu và tận dụng tay còn lại một cách tự do
  • Chỉ với 10 phím, thiết bị hỗ trợ hơn 215 tổ hợp chord cùng nhiều kiểu nhập arpeggio khác nhau, mang lại khả năng mở rộng nhập liệu cao
  • Cung cấp bố cục tối ưu hóa và firmware độ trễ thấp, đồng thời có thể tự chế theo hình dáng bàn tay mong muốn để đạt được thiết kế công thái học ở mức tối đa
  • So với bàn phím cơ thông thường, nó rẻ hơn và không cần linh kiện đặc biệt, có thể chế tạo bằng các công cụ và vật liệu đơn giản
  • Đi kèm firmware mã nguồn mở, công cụ tự động hóa bố cục và nhiều tài liệu tham khảo, rất hữu ích cho các lập trình viên quan tâm đến bàn phím tùy biến

Giới thiệu dự án mã nguồn mở KEYER

KEYER là bộ firmware và công cụ mã nguồn mở hỗ trợ chế tạo bàn phím chorded (Chorded Keyboard) vận hành bằng một tay. Ưu điểm lớn nhất của dự án này là, không cần đến các sản phẩm thương mại đắt đỏ, in 3D phức tạp hay PCB tùy chỉnh, bất kỳ ai cũng có thể tự làm một bàn phím công thái học bằng các linh kiện dễ kiếm và công cụ đơn giản.

Các đặc điểm chính

  • Chuyển động ngón tay tối thiểu: mọi phím đều nằm gần vị trí home, nên có thể gõ nhanh mà hầu như không cần di chuyển ngón tay
  • Tận dụng tự do tay còn lại: có thể gõ bằng một tay trong khi tay kia dùng chuột hoặc cầm đồ uống
  • Luôn ở gần bàn tay: nếu gắn Keyer lên găng tay, bạn có thể thả tay ra tạm thời mà vẫn giữ cả hai tay hoàn toàn tự do
  • Hỗ trợ số lượng chord rất lớn: với 10 phím (ngón cái 3, ngón trỏ 2, ngón giữa 2, ngón áp út 2, ngón út 1) có thể hiện thực 215 chord, và còn có thể mở rộng gấp đôi khi giữ chord
  • Tận dụng arpeggio (rolling motion): có thể thực hiện 2×78 arpeggio hai chiều, khả năng mở rộng nhập liệu rất cao
  • Đa lớp: chỉ riêng lớp cơ sở đã hỗ trợ 586 phím tắt, và mỗi lớp có thể có nhiều tổ hợp khác nhau
  • Rolling chord: khi hai chord có chung vị trí ngón tay, chỉ cần di chuyển những ngón thay đổi, nên rất hiệu quả
  • Công cụ tối ưu hóa bố cục: trình tối ưu đi kèm hỗ trợ tự động tìm bố cục dựa trên văn bản đầu vào hoặc hàm chi phí chuyển động tay do người dùng tùy chỉnh
  • Bố cục công thái học: ngăn các tổ hợp khó bấm do đặc tính đường dẫn thần kinh-vận động của ngón tay, tối đa hóa khả năng sử dụng
  • Triển khai độ trễ thấp: firmware dựa trên ngắt phần cứng kết hợp debouncing phần mềm, cho độ phản hồi và độ chính xác rất tốt
  • Pin dùng lâu dài: pin 18650 dung lượng cao, CPU xung nhịp thấp, tiết kiệm điện qua Bluetooth và công tắc nguồn phần cứng giúp sử dụng được lâu

Dễ chế tạo

Không cần in 3D đặc biệt hay PCB tùy chỉnh. Chỉ cần mua linh kiện trên Amazon + súng bắn keo nóng + mỏ hàn là có thể tự làm.

  • Có thể đúc trực tiếp theo tay bằng đất sét silicon để đạt thiết kế công thái học ở mức tối đa
  • Chi phí linh kiện chỉ khoảng $34, rất rẻ, và chỉ cần lắp 10 switch cơ

Nhiều tài liệu tham khảo và liên kết giới thiệu

  • Bao gồm thông tin về giải pháp phần mềm (Penti Chorded Keyboard), thư viện bàn phím BLE cho ESP32, thiết kế in 3D miễn phí (ví dụ: Typeware), và các sản phẩm thương mại trước đây (Twiddler, Decatext, v.v.)
  • Cung cấp liên kết đến blog và video trình diễn gõ

Tóm tắt hướng dẫn chế tạo

Danh sách vật liệu

  • Bo mạch phát triển LILYGO T-Energy S3 ($9.70)
  • Pin Samsung INR18650-35E 3500mAh (~$2.95)
  • Đất sét FIMO Professional hoặc đất sét hiệu ứng ($2.75)
  • 10 switch cơ (khuyến nghị Gateron G Pro 3.0, $10)
  • Một ít dây đồng cách điện loại dày, cùng các vật tư và công cụ khác (kẹp, dao, găng tay, súng bắn keo nóng, mỏ hàn, v.v.)

Tạo skeleton (khung xương)

  • Tạo vòng lặp GND bằng dây đồng và hàn vào cổng GND của bo mạch
  • Cố định từng switch sao cho tiếp xúc với vòng lặp GND (ban đầu dùng keo nóng, sau đó hàn)
  • Kết nối riêng từng switch từ switch đến cổng IO của bo mạch (cần ghi lại mapping giữa cổng và switch)
  • Điều chỉnh cách sắp xếp switch và vị trí keycap → kiểm tra độ chắc chắn của cấu trúc

Đúc bằng đất sét

  • Thêm nhiều lớp đất sét để bao quanh phần dưới của switch, v.v.
  • Cần nhào đất sét thật kỹ để không bị vón cục, các mảnh nên được miết cho phẳng
  • Sau khi hoàn thành, nung trong lò ở 110 độ C trong ít nhất 30 phút để làm cứng và tăng độ bền

Tải firmware lên

  • Cài đặt PlatformIO Core, kết nối bo mạch T-Energy S3 qua USB
  • Clone kho lưu trữ GitHub, build và tải firmware lên
  • Kiểm tra tên thiết bị Bluetooth (có thể sửa trong dự án thành tên của mình, v.v.)
  • Hỗ trợ debug như xuất serial

Công cụ tối ưu hóa bố cục

  • Thêm văn bản đầu vào vào layout_generator/corpus, rồi dùng planner.py để tự động tạo bố cục tối ưu
  • Có thể tùy chỉnh chi phí chuyển động theo từng ngón tay trong keyer_simulator.cpp

Các ý tưởng khác

  • Có thể hỗ trợ air mouse nếu gắn cảm biến gia tốc 6 trục
  • Đề xuất khả năng biến thể như giảm số lượng phím

Cấu trúc kho lưu trữ

  • layout_generator/: script tối ưu hóa code/bố cục dựa trên Python
  • src/: mã nguồn firmware cho ESP32
  • Khác: cấu hình SDK, tệp đánh giá văn bản, simulator, v.v.

Kết luận và tính ứng dụng

KEYER là giải pháp chi phí thấp, DIY, khả năng mở rộng cao dành cho các lập trình viên, hacker và maker muốn tự chế một bàn phím chorded siêu nhỏ vừa khít với bàn tay. Cả phần cứng lẫn phần mềm đều được cung cấp dưới dạng mã nguồn mở, với những ưu điểm khác biệt như bố cục tùy biến theo người dùng, thiết kế công thái học, firmware tiết kiệm điện/độ trễ thấp. Nếu bạn quan tâm đến việc hack bàn phím và tùy biến thiết bị nhập liệu, đây là một tài liệu tham khảo cực kỳ hữu ích.

1 bình luận

 
GN⁺ 2025-10-10
Ý kiến trên Hacker News
  • Tôi từng dùng một bàn phím công thái học chỉ có 3x10 phím (chính xác hơn là loại tách đôi nên là bố cục 2x3x5). Tôi không muốn tốn thời gian học lại cách gõ, cũng như cách nhập ký tự đặc biệt và số, nhất là vì phần lớn thời gian luyện tập sẽ rơi vào giờ làm việc, nên tôi không muốn chấp nhận việc năng suất ban đầu bị giảm. Cuối cùng tôi chọn ZSA Moonlander; với những người đam mê cảm thấy nó có quá nhiều phím thì có thể hơi nặng nề, nhưng cá nhân tôi rất hài lòng. Những bàn phím hacker cầm tay kiểu này luôn gợi nhớ đến tương lai cyber ngầu lòi mà tôi từng mơ về hồi nhỏ, nên tôi luôn có thiện cảm với chúng. Tôi nghĩ đây là một dự án thật sự rất tuyệt.

  • Có lẽ nên làm một đoạn video ngắn quay cảnh bàn tay đang gõ ở tiền cảnh và màn hình ở hậu cảnh để cho thấy độ khó và tốc độ nhập liệu.

    • Xem video xong tôi lại càng tò mò về mục đích thực sự của nó. Đây là bàn phím để nhập chữ và số, hay là một bàn phím làm nhạc? Trong bài có nhắc đến code và arpeggio nên lúc đầu tôi tưởng đây là công cụ lập trình âm nhạc. Tôi bị rối về mục đích chính của nó.

    • Nhất định hãy làm một video nhé.

  • Quá tuyệt, và xin giới thiệu rằng loại sản phẩm này được gọi là keyer. Link tham khảo là Wikipedia Keyer: Computer interface keyers. Hồi đầu những năm 1980, khi còn trẻ và ngây thơ, một người bạn của cha tôi có một chiếc WriteHander nên từ đó tôi có cảm tình với những thiết bị như thế này. Tôi để lại thông tin về WriteHander ở đây: link tham khảo WriteHander.

    • Theo tôi thì bức ảnh trong liên kết WriteHander trông không phải là thiết bị cho người thuận tay phải mà có vẻ nhắm đến người thuận tay trái (southpaw).
  • Tôi nghĩ đây là thiết bị đậm chất hacker ở mức tối thượng. Việc dùng linh kiện COTS và phần nắn bằng đất sét để ôm khít bàn tay đặc biệt gây ấn tượng. Cách chế tạo rất hiệu quả.

  • Tôi thấy đây là một ý tưởng cực kỳ ngầu, và tôi thường tưởng tượng rằng một ngày nào đó mình cũng sẽ tự làm một thiết bị như thế. Mỗi khi dùng Termux để quản trị hệ thống đơn giản trên điện thoại, ý tưởng này lại hiện lên. Nó cũng khiến tôi nhớ đến minichord, một synthesizer/nhạc cụ mã nguồn mở. Thật tuyệt khi trong thời đại tràn ngập phần cứng và công cụ thiết yếu như hiện nay, những thiết bị sáng tạo thế này có thể ra đời. Dự án rất hay.

  • Tôi ghét kiểu gõ lách cách lên mặt kính và chỉ toàn bấm nhầm, nên lúc nào cũng nghĩ đến các phương thức nhập liệu thay thế. Tôi thấy đây là một dự án và bài tổng kết thực sự tuyệt vời. Nhưng tôi rất muốn xem video sử dụng thực tế, và nếu có thể thì cả quá trình chế tạo nữa, nên mong là tác giả sẽ công bố video.

  • Đúng là quá ngầu. Chỉ cần thêm Oculus nữa là có thể thành Johnny Mnemonic ngoài đời thật. Video tham khảo: video Johnny Mnemonic trên YouTube.

  • Tôi thấy nó thật sự rất hay. Azeron cũng có một sản phẩm tương tự nhưng không mang tính di động (có lẽ phía Azeron cũng nên tham khảo cái này), và số lượng phím còn nhiều hơn rất nhiều. Vì có nhiều phím nên việc nhập chord cũng dễ, và nó có thể thay thế cả bàn phím thông thường. Nó có thể giúp ích rất nhiều cho những người chỉ dùng được một tay/cánh tay, đặc biệt là cựu binh. Chính sách hoàn tiền trong 60 ngày cũng rất ấn tượng. Công ty đặt tại Latvia và một số bộ phận được in 3D. Website là website Azeron. Bản thân tôi cũng đang dùng Cyro, một con chuột vertical beta. Đây là mẫu chuột khá khác thường trong dòng sản phẩm của họ và có rất nhiều nút. Tôi nghĩ đây là con chuột ổn nhất trong lĩnh vực này, chỉ là sẽ tốt hơn nếu nó là không dây. Tôi đã thử mod không dây bằng mô-đun USB2BT nhưng gặp một vài vấn đề. Trải nghiệm thực tế có thể khác nhau tùy trường hợp.

  • Nếu bạn quan tâm đến UX của các sản phẩm nhập liệu theo kiểu chord, thì Artsey và Ardux(trang chính thức của Ardux) là những tài liệu tham khảo đáng xem. Artsey là bàn phím chord 2x4 dùng một tay, còn Ardux là phiên bản cải tiến/mở rộng của nó. Nó tham chiếu khá nhiều từ bố cục Colemak. Cá nhân tôi thích sự đơn giản của 2x4. Thiết bị của OP cũng rất hay, nhưng thiết kế công thái học cho chuyển động ngón cái theo tôi hơi đáng tiếc một chút.

  • Trông dễ thương đấy. Tôi đang dùng Bluehand(trải nghiệm dùng Bluehand) và lúc nào cũng nghĩ rằng sẽ tốt hơn nếu có thể dùng nó mà không cần đặt xuống.

    • Bạn có dùng thiết bị này hằng ngày không, và bạn có dùng nó để nhập văn bản hay code không?