صفحه کلید سفارشی پایه QMK (با اوبونتو، آردوینو پرو میکرو) (به روز شده برای سال 2022) 🥖 موارد تصادفی جان مولر

بعد از اینکه QMK را به کار انداختم، فکر کردم که مستند کردن چگونگی کارکرد آن مفید باشد. این از صفر شروع می شود، با استفاده از درایو USB بوت زنده اوبونتو.

توجه داشته باشید که وب سایت QMK برای مدت طولانی در موتورهای جستجو (از جمله گوگل) شکسته شده است. شما نخواهد بتوانید قسمت مناسب اسناد رسمی را در گوگل پیدا کنید. باید به صورت دستی به https://docs.qmk.fm/#/ بروید و از آنجا مرور کنید.
سئو، چگونه کار می کند؟ خب اینجوری نیست اگر کنجکاو هستید، اشکال اینجاست. از سال 2017 در Docsify باز است – چارچوبی که QMK برای اسناد استفاده می کند. اگر به ایجاد اسناد خوب و قابل یافتن علاقه دارید، از Docsify اینگونه استفاده نکنید.

سخت افزار

من از یک برد اصلی توسعه دهنده Pro Micro استفاده می کنم. از ATMEGA 32u4 استفاده می کند و به طور بومی از USB پشتیبانی می کند، چیزی که ما به آن نیاز داریم. هنگام دریافت اینها، مطمئن شوید که Micro-USB (در غیر این صورت یک mini-USB chonky دارید) و نسخه 5V/16MHz را دریافت کنید. تعداد زیادی از اینها در Aliexpress، Ebay، محلی و غیره وجود دارد. قیمت آنها حدود 5-10 دلار است.

برای آزمایش، من فقط از 3 دکمه فشاری ساده روی تخته نان استفاده می کنم.

شماتیک

(ساخته شده بر اساس طرح DigiKey-it – این پیوند احتمالاً برای شما کار نخواهد کرد)

سیم کشی عبارت است از:

  • یک طرف همه دکمه ها به پین ​​4 وصل شده است (PD4) در هیئت مدیره
  • طرف دیگر دکمه ها به پین ​​های 5، 6، 7 می رود (PC6، PD7، PE6). ما به “PX#شماره گذاری برای پیکربندی بعداً (اینگونه است که پین ​​ها روی تراشه برچسب گذاری می شوند).
  • خودشه.

برای طرح‌بندی‌های پیچیده‌تر با ردیف‌های متعدد، باید از دیودها بعد از دکمه، به سیم «ردیف» استفاده کنید. برای طرح‌بندی‌های کوچک‌تر، این خوب است.

راه اندازی نرم افزار

با شروع از ویندوز 10، Rufus را نصب کردم و یک درایو USB Ubuntu را طبق این راهنما رایت کردم.

راه اندازی مجدد، و شما تقریبا در اوبونتو هستید. اگر از «اوبونتو را امتحان کنید» در منوی نصب کننده استفاده می کنید، یک نصب زنده از درایو USB دریافت می کنید. هنگام راه اندازی مجدد، نصب مجدد تنظیم می شود، پس راه اندازی مجدد نکنید :-). یا یک اوبونتو واقعی را در جایی نصب کنید.

در اوبونتو، فایرفاکس را باز کنید و به این راهنما برگردید :-). سپس یک پنجره ترمینال را برای بقیه باز کنید.

  1. همه چیز را به‌روزرسانی کنید، برخی چیزها را نصب کنید (در صورت نیاز روی Y کلیک کنید)
$ sudo apt update && sudo apt upgrade # Get up to date

$ sudo add-apt-repository universe # Universe repository needed for pip3
 
$ sudo snap install --classic code # installs Visual Studio Code as an editor

$ sudo apt install -y git python3-pip # installs git & Python / pip3

$ python3 -m pip install --user qmk # install QMK

$ PATH=$HOME/.local/bin:$PATH # Add the QMK to the path

$ qmk setup # run the QMK setup (answer as needed)

# QMK is ready! Let's try it out
$ cd ~/qmk_firmware

# let's compile a random keyboard to try out
$ qmk compile -kb clueboard/66/rev3 -km default 

تنظیمات صفحه کلید

یک تابع وجود دارد qmk new-keyboard که یک صفحه کلید اصلی 4×4 را برای شما تنظیم می کند. ما فقط به 3 دکمه نیاز داریم، بگذارید کار کند.

$ qmk new-keyboard # create a new basic keyboard

# Keyboard name: 00test
# Github user-name: anything
# Your name: anything
# Base layout: 51 - none of the above
# What powers your project: 24 - atmega32u4

اکنون یک صفحه کلید اولیه را تنظیم کرده اید. بیایید تغییراتی را برای دستگاه خود ایجاد کنیم.

$ code keyboards/00test/ & # open editor

برای نمونه صفحه کلید 3 کلیدی ما، باید تغییراتی در فایل های پیش فرض ایجاد کنیم. تمام تنظیماتی که ما نیاز داریم در دو فایل هستند: info.json و keymaps/default/keymap.c .

فایل را باز کنید info.json و تغییرات زیر را انجام دهید:

از جانب:

"bootloader": "atmel-dfu",

به:

"bootloader": "caterina",

(این برای بوت لودر پیش فرض آردوینو است که ما آن را نگه می داریم.)

از جانب:

"matrix_pins": {
    "cols": ("C2", "C2", "C2", "C2"),
    "rows": ("D1", "D1", "D1", "D1")
},  

به:

"matrix_pins": {
    "cols": ("C6", "D7", "E6"),
    "rows": ("D4")
},

(اینها پین هایی هستند که ما برای سطر و ستون ها استفاده می کنیم.)

و … از جانب:

"layouts": {
    "LAYOUT_ortho_4x4": {
        "layout": (
            { "matrix": (0, 0), "x": 0, "y": 0 },
            // etc
            { "matrix": (3, 3), "x": 3, "y": 3 }
        )
    }
}

(توجه داشته باشید که دارای یک دسته ورودی برای ماتریس است (…))

به:

"layouts": {
    "LAYOUT_ortho_1x3": {
        "layout": (
            { "matrix": (0, 0), "x": 0, "y": 0 },
            { "matrix": (0, 1), "x": 1, "y": 0 },
            { "matrix": (0, 2), "x": 2, "y": 0 }
        )
    }
}

(این طرح فیزیکی صفحه کلید است.)

الان باز است keymaps/default/keymap.c و همه چیز را با:

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps()(MATRIX_ROWS)(MATRIX_COLS) = {
    /*
    * Sample 1x3 keyboard from johnmu.com
    */
    (0) = LAYOUT_ortho_1x3(
        KC_A, KC_B, KC_C
    )
};

(این جایی است که می گویید هر کلید چه کاری انجام می دهد. در این مورد، ما فقط روی “a”، “b”، “c” کلیک می کنیم (“KC_” پیشوندی برای کدهای کلید است). مستندات نقشه کلید را برای سایر کلیدها بررسی کنید پس از اینکه مطمئن شدید این یکی کار می کند، کدهایی را امتحان کنید.)

حالا هر دو فایل را ذخیره کنید و بیایید آن را کامپایل کنیم. اگر کار نکرد، می‌توانید یک کپی از فایل‌های info.json و keymap.h من را بررسی کنید.

$ make 00test:default:flash # compile and flash the keyboard

در برخی موارد، درخواست بازنشانی کنترلر را خواهید دید:

Detecting USB port, reset your controller now....

… برای تنظیم مجدد، پایه RESET (یا RST) را به پایه GND وصل کنید. آنها دقیقاً در کنار یکدیگر قرار دارند، می توانید از یک پیچ گوشتی استفاده کنید و فقط آنها را با هم لمس کنید. به سرعت ادامه خواهد داد:

Device /dev/ttyACM0 has appeared; assuming it is the controller.
Waiting for /dev/ttyACM0 to become writable.

Connecting to programmer: .
(lots of stuff)

avrdude: verifying ...
avrdude: 16296 bytes of flash verified

avrdude: safemode: Fuses OK (E:FD, H:D8, L:FF)

avrdude done.  Thank you.

… تبریک می گویم، شما اکنون یک صفحه کلید دارید!

کلیدها را امتحان کنید بسته به کلیدی که فشار می دهید باید a، b، c را نشان دهد. اگر همه چیز درست شد، باید آماده باشید. برای انجام کارهای بیشتر این صفحه کلید، آن را ویرایش کنید keymap.c فایل. اطلاعات بیشتر در مورد کدهای موجود در اسناد keymap وجود دارد. اطلاعات بیشتر در مورد کل فرآیند در این اسناد موجود است. اگر می خواهید رسمی تر شوید، می توانید کد PID/VID USB خود را از pid.codes دریافت کنید.

به خاطر داشته باشید که اگر از USB Stick در حالت «اوبونتو را امتحان کنید» استفاده می‌کنید، پس از راه‌اندازی مجدد، همه تغییرات حذف خواهند شد. اگر می‌خواهید چیزی بسازید از این حالت استفاده نکنید، فقط در صورتی از آن استفاده کنید که برای امتحان کردن نیاز به یک راه‌اندازی تمیز دارید.

این صفحه‌کلید روی اکثر رایانه‌هایی که کیبورد USB را می‌پذیرند، از جمله اوبونتو، مک، ویندوز و احتمالاً اکثر سیستم‌های دیگر کار می‌کند.

به روز رسانی ها

2022-09-25 – برای نمایش به روز شد qmk new-keyboard به جای new_keyboard.sh اسکریپت از اینکه این را پرچم گذاری کردید، برنارد اس!

نظرات / سوالات

در حال حاضر هیچ قابلیت نظر دادن در اینجا وجود ندارد. اگر می‌خواهید نظر بدهید، لطفاً از Mastodon استفاده کنید و من را (@[email protected]) در آنجا ذکر کنید. با تشکر!

صفحات مرتبط

Source link