Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
self-made-keyboard
Katsuki Kobayashi
November 24, 2019
Technology
2
160
self-made-keyboard
キーボードをキットを買って自作・使用してみたはなしです。
webだとリンクが辿れないので、よければpdfをダウンロードしてつついてあげてください。
Katsuki Kobayashi
November 24, 2019
Tweet
Share
More Decks by Katsuki Kobayashi
See All by Katsuki Kobayashi
Rustで書いたツールのdebianパッケージングに挑戦してみた話(仮)
rarewin
1
210
RustBook Ch.11 Testing
rarewin
0
98
技術系Podcastのススメ
rarewin
0
250
RISC-Vをさわってみた
rarewin
1
430
qmakeなQtアプリのdebを作ろうとして試行錯誤した話
rarewin
1
500
Other Decks in Technology
See All in Technology
アーキテクチャを明文化して開発に臨んだ話
akihiyo76
0
270
Custom AppをIP制限ありのままで審査に通す方法
yusuga
0
670
RDRA + JavaによるレジャーSaaSプロダクトの要件定義と実装のシームレスな接続
jjebejj
PRO
3
530
ROS再入門-はじめてのSLAM-
miura55
0
400
JFrog 最新情報 - JFrog DevOps プラットフォームの今までとこれから / jfrog-update-for-devopskaigi-2022
tsuyo
0
150
The Fractal Geometry of Software Design
vladikk
0
750
JUnit5.7, 5.8の新機能紹介 #jjug_ccc #jjug_ccc_b / junit 5.7, 5.8 new features
kyonmm
PRO
2
420
サイボウズの アジャイル・クオリティ / Agile Quality at Cybozu
cybozuinsideout
PRO
4
2.3k
Retca Cloud
bau
0
470
ノーメンテナンス運用実現のためのノウハウ/ColoplTech-05-02
colopl
0
190
miisan's career talk
mii3king
0
220
データエンジニアと作るデータ文化
yuki_saito
4
1.5k
Featured
See All Featured
Building Applications with DynamoDB
mza
83
4.7k
Bash Introduction
62gerente
597
210k
Fireside Chat
paigeccino
12
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
940
Web Components: a chance to create the future
zenorocha
303
40k
Designing for Performance
lara
597
63k
Typedesign – Prime Four
hannesfritz
33
1.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
212
20k
Thoughts on Productivity
jonyablonski
43
2.3k
Stop Working from a Prison Cell
hatefulcrawdad
261
17k
Designing Experiences People Love
moore
130
22k
Facilitating Awesome Meetings
lara
29
4k
Transcript
ࣗ࡞ΩʔϘʔυԹઘʹؼΓೖཋͯ͠Έͨ Katsuki Kobayashi ؔ Debian ษڧձ 2019 11 ݄
24 ()
͓ͼ ▶ Debian ཁૉ͋Μ·Γͳ͍Ͱ͢
Έͳ͞Μ
ݞࠊ େৎͰ͔͢?
ࢲବͰ͢
ࣗ࡞ΩʔϘʔυͷಈػ (1/4) ▶ ձࣾʹͯࠊ௧͕ࠅͯ͘ɺରࡦͯ͠ޮՌ͕ͳ͍ • ࠎӃʹ௨͏ • δϜͰےτϨ͢Δ ▶ ಛʹɺ͜͜ࠅ͍
ࣗ࡞ΩʔϘʔυͷಈػ (1/4) ▶ ձࣾʹͯࠊ௧͕ࠅͯ͘ɺରࡦͯ͠ޮՌ͕ͳ͍ • ࠎӃʹ௨͏ • δϜͰےτϨ͢Δ ▶ ಛʹɺ͜͜ࠅ͍
▶ ৺ͨΓ
ࣗ࡞ΩʔϘʔυͷಈػ (2/4) ▶ ThinkPad ΩʔϘʔυ • ThinkPad Λ͍࢝Ίͯ 4
• τϥοΫϙΠϯτͷྑ͞ʹؾ͍ͯձࣾͰ ThinkPad ΩʔϘʔυʹ − Windows Ͱ Linux ΄ͲԸܙʹ༬͔Εͳ͍͚Ͳ • τϥοΫϙΠϯτ͕ѱ͍ͷ͔ͱࢥ͍ɺ͜͜ϲ݄ϚεΛ༻ − ͔͠͠վળͤͣʜʜ
ࣗ࡞ΩʔϘʔυͷಈػ (2/4) ▶ ThinkPad ΩʔϘʔυ • ThinkPad Λ͍࢝Ίͯ 4
• τϥοΫϙΠϯτͷྑ͞ʹؾ͍ͯձࣾͰ ThinkPad ΩʔϘʔυʹ − Windows Ͱ Linux ΄ͲԸܙʹ༬͔Εͳ͍͚Ͳ • τϥοΫϙΠϯτ͕ѱ͍ͷ͔ͱࢥ͍ɺ͜͜ϲ݄ϚεΛ༻ − ͔͠͠վળͤͣʜʜ ▶ ׂܕΩʔϘʔυ • ·͊ɺݞڽΓʹޮ͖ͦ͏ • ͔͠͠ɺࠊʹޮ͘ͷ͔૾Ͱ͖ͳ͍
ࣗ࡞ΩʔϘʔυͷಈػ (3/4) ▶ Ultimate Hacking Keyboard ͳΔͷΛΈ͚ͭΔ • τϥοΫϙΠϯτ͕͘!! −
͔͠͠ॴ͕͓͔͍͠ − τϥοΫϘʔϧλονύου͚ΒΕΔ • ࣠มߋͰ͖Δ − ࣠ʹ͍ͭͯޙ΄Ͳʜʜ • ϑΝʔϜΧελϚΠζͰ͖Δ • Ͱ͓ஈతʹ − ࠷খߏͰ 275 υϧ − τϥοΫϙΠϯτ͚ͭͨΓɺϨετΞʔϜ͚ͭΔͱ 4 ສԁӽ͑ − ւ֎ͳͷͰɺૹྉΒೲظ͕ͳ͊ʜʜ
ࣗ࡞ΩʔϘʔυͷಈػ (4/4) ▶ পͷॅਓ͔Β͓͔͚͍ͨͩ͘ • https://twitter.com/rarewin/status/1163656414184689665 ▶ Tex Yoda II
• ׂ͞ΕͯͨΒٻΊ͍ͯͨײͩͬͨ͡ ▶ ࣗ࡞ΩʔϘʔυʹτϥοΫϙΠϯτΛ͚͍ͯΔਓҰఆ͍ΔΒ͍͠ • Google ݕࡧ: τϥοΫϙΠϯτ ࣗ࡞ΩʔϘʔυ ▶ ͦΜͳ͜ΜͳͰɺࣗ࡞ͱ৺͕ʜʜ
ΩʔϘʔυͷબఆ (1/2) ▶ ͱ͍͏͜ͱͰࣗ࡞ͯ͠ΈΔ • ࣗͷ͍ٻΊͨཧͷΩʔϘʔυΛ Endgame ͱ͍͏ͦ͏Ͱ͢ • ͦ͜·ͰਂΈʹ·Δؾͳ͍Ͱ͚͢ͲͶ
▶ ݸਓతʹࢼ͔ͨͬͨ͠ͷ • ׂΩʔϘʔυ - ݞڽΓʹޮ͖ͦ͏ͩͬͨͷͰඞਢ • ͳΔ͘ී௨ͳྻ - ֨ࢠྻͱ͔ͻͱ·ͣආ͚͍ͨ • ଧݤԻ੩͔ͳͷ͕͍͍ • ଧݤײܰͯ͘Α͍ • τϥοΫϙΠϯτཉ͍͠ʜʜ͕ɺҰ୴͖͋ΒΊΔ
ΩʔϘʔυͷબఆ (2/2) ▶ ߟ͑Δ͖ࣄ͍͔ͭ͋͘Δ ▶ ֤ΩʔͷྻϑΝʔϜΣΞ͕͋ΔͷͰͳΜͱͰͳΔ • QWERTY ྻͱ Dvorak
ྻΛΓସ͑ΒΕΔΑ͏ͳϑΝʔϜ͋Δ ▶ Ωʔͷஔ • ී௨ͷ • ֨ࢠঢ় – লεϖʔε! (ද: Helix) • ΤϧΰϊϛΫε – ࢦͷ͞ࢦͷՔಈҬΛߟྀ (ද: https://ergodox-ez.com/) ▶ Ωʔͷ • XX%ΩʔϘʔυ – ϑϧΩʔ (104 Ωʔ) ʹରͯ͠ԿݸͷΩʔ͕͋Δ͔ − ओྲྀ 60%͘Β͍ (ࣈΩʔͷஈ͋ΓɺςϯΩʔɺFunctionKey ͳ͠) − ͞Βʹ͍͘ͱ 40%͘Β͍ (ࣈΩʔͳ͠ɺΧʔιϧΩʔɺҰ෦ͷه߸Ωʔ͕ͳ͍) − ͋ͨ·͓͔͍͠ͷ 10% − ٯʹ 100 Λӽ͑Δͷ (ήʔϜ༻ͱ͔)
Ұൠతͳࣗ࡞ΩʔϘʔυΩοτͷߏ ▶ େମͷΩοτʹ͍ͭͯ͘Δͷ • ج൘ (ج൫ͱॻ͘ͱܯ͕དྷΔ) • ϚΠίϯ – େମ
Promicro • ϓϨʔτ – Χόʔ • μΠΦʔυ – ΩʔϚτϦοΫε༻ • ϦηοτεΠον – ϑΝʔϜম͖ͷͨΊ • OLED(Φϓγϣϯ) • LED(Φϓγϣϯ) ▶ ࣗͰ༻ҙ͢Δ߹͕͋Δͷ • ΩʔεΠον • ΩʔΩϟοϓ • έʔϒϧ (USB/TRRS)
ࣗ࡞Ωοτհ : Mint60 ▶ ࢲҰͱͯ͠ߪೖ (ެࣜൢചαΠτ) ▶ ΦʔιυοΫεͳׂ 60%ΩʔϘʔυ ▶
ΩʔεΠον/Ωϟοϓ͖ͷΩοτ͕͋ͬͯߪೖ͍͢͠ • εΠον/Ωϟοϓछྨ͔ΒબΔ ▶ Έཱͯͷқ͍ • ా͚қͷߴ͍ૉࢠ (νοϓμΠΦʔυ/νοϓ LED ͳͲ) ͳ͍ ▶ ࡞ऀͷਓؔͷਓ? (ൃૹݩ͕ಸྑͩͬͨ) ͚Ͳ౦ژͰਫ਼ྗతʹΠϕϯτओ࠵ • ఱԼҰΩʔϘʔυΘ͍Θ͍ձ Vol.3 • Mint60 Έཱͯձ Vol.4 Ҿ༻ݩ: http://eucalyn.hatenadiary.jp/entry/about-mint60-01
ࣗ࡞Ωοτհ : Mint60 ▶ ࢲҰͱͯ͠ߪೖ (ެࣜൢചαΠτ) ▶ ΦʔιυοΫεͳׂ 60%ΩʔϘʔυ ▶
ΩʔεΠον/Ωϟοϓ͖ͷΩοτ͕͋ͬͯߪೖ͍͢͠ • εΠον/Ωϟοϓछྨ͔ΒબΔ ▶ Έཱͯͷқ͍ • ా͚қͷߴ͍ૉࢠ (νοϓμΠΦʔυ/νοϓ LED ͳͲ) ͳ͍ • ͨͩ͠ɺൃදऀະͩʹγϦΞϧ௨৴͕ಈ͍͍ͯͳ͍ ▶ ࡞ऀͷਓؔͷਓ? (ൃૹݩ͕ಸྑͩͬͨ) ͚Ͳ౦ژͰਫ਼ྗతʹΠϕϯτओ࠵ • ఱԼҰΩʔϘʔυΘ͍Θ͍ձ Vol.3 • Mint60 Έཱͯձ Vol.4 Ҿ༻ݩ: http://eucalyn.hatenadiary.jp/entry/about-mint60-01
ࣗ࡞Ωοτհ : Helix ▶ ࢲ Mint60 ͷޙʹ Thinkpad ͷࠨख༻ͱͯ͠ߪೖ (ൢചαΠτ)
▶ ༡ࣷͷදऀͷ͞Μ͕ઃܭͨ͠ΩʔϘʔυ ▶ ಛతͳશͳ֨ࢠྻ • Ωʔతʹ 60%͘Β͍ (64 Ωʔ)ɺ14 ΩʔݮΒ͢͜ͱͰ͖Δ • PCB ͕ϦόʔγϒϧͳͷͰΧʔιϧͷҐஔ͕ಛघ ▶ ج൘ͷઃܭ͕ͱͯ៉ྷ • Cherry/Kailh ϩʔϓϩϑΝΠϧ ྆ରԠ • μΠΦʔυνοϓ/ૉࢠ྆ରԠ (ΩοτଐνοϓλΠϓ) ▶ PCB ͷσʔλ͕ެ։͞Ε͍ͯͯੜΩʔϘʔυଟ͍ Ҿ༻ݩ: https://yushakobo.jp/shop/helix-keyboard-kit/
ࣗ࡞Ωοτհ : Claw44 ▶ ձࣾͷಉ྅͕ߪೖ (ൢചαΠτ) ▶ ྻ͕ಛత • ࢦͷҠಈํʹ߹Θͤͯઃܭ
• ಛʹࢦ͕Θ͔Γͦ͢͏ ▶ Ωʔ͕૬ʹগͳ͍ͷͰɺಉ྅ఘΊ෩ຯ Ҿ༻ݩ: https://blog.yfuku.com/entry/claw44
ࣗ࡞Ωοτհ : Fortitude60 ▶ ໊લ͕ಛతͳΩοτ (ൢചαΠτ) • ΠΩϦϗϫΠτ • ΦλΫϒϥοΫ
▶ promicro Λ͔͍ͭͬͯͳ͍ ▶ وॏͳ USB Type-C • Type-C Λ͚ͭͨ promicro Ϋϩʔϯଘࡏ͍ͯ͠Δ (͚ͲرগͰׂߴ) Ҿ༻ݩ: https://booth.pm/ja/items/1071554
ΩʔεΠον (1/3) ▶ ݱঢ়ɺීٴ͍ͯ͠ΔͷҎԼͷ 2 छྨ? • Cherry MX (ࠨ)
- υΠπ Cherry ࣾ − ಛڐ͕Ε͍ͯΔͨΊΫϩʔϯ͕͍ͬͺ͍͋Δ༷ (Gateron ) − ग़ճ͍ͬͯΔΩοτ΄ͱΜͲରԠ − ࠷ۙϩʔϓϩϑΝΠϧ͕ग़ͨ? ࢀߟ • Kailh ϩʔϓϩϑΝΠϧ (ӈ) - தࠃͷ Kaihua? − Cherry MX ͱޓੑ͕ͳ͍ (ରԠ͍ͯ͠Δج൘͕ඞཁ) ͷͰҙ͕ඞཁ ▶ Έͳ͞Μ͝ଘͷ௨Γɺ৭ʹΑͬͯԡ͠۩߹͕มΘΔ Ҿ༻ݩ: https://yushakobo.jp/shop/cherry-mx/, https://yushakobo.jp/shop/pg1350/
ΩʔεΠον (2/3) ࣠ ΫϦοΫײ Ի ॏ͞ ਂ͞ ϐϯΫ࣠ ͳ͠ ͔ͣ͠
͔ΔΊ ࣠ ͳ͠ ;ͭ͏ ͔ΔΊ ࣠ ͋Γ ;ͭ͏ ;ͭ͏ ࠇ࣠ ͳ͠ ;ͭ͏ ͓Ί ੨࣠ ͋Γ ΧνΧν ͓Ί ۜ࣠ ઙΊ ࢀߟ: https://www.diatec.co.jp/products/CHERRY/ Ҿ༻: https://www.cherrymx.de/en/mx-original/mx-red.html
ΩʔεΠον (3/3) ▶ طͰ࣠બΔ • ࣗ࡞ͩͱஔࣗ༝ࣗࡏ • খࢦपΓܰΊͷεΠονΛஔͨ͠Γ • enter
key ͚ͩΧνΧνͤͨ͞Γ • ιέοτΛ͚͓͍ͯͯޙͰมߋͰ͖ΔΑ͏ʹͨ͠Γ Ҿ༻ݩ: https://yushakobo.jp/shop/a01ps/
ϚΠίϯ ▶ Sparkfun ͕ࣾग़͍ͯ͠Δ Arduino ޓϘʔυ • Atmel AVR •
ͱͯίϯύΫτ͚ͩͲϐϯ݁ߏ͋Δ • Arduino ͷ IDE ͕͑Δ • ఆՁ݁ߏ͓͔ͨΊʜʜ $19.95 ▶ Promicro ͷޓΛ͏ͷ͕ݱࡏͷओྲྀ • ͓͍͢ (Ϋϩʔϯͩͱ 500 ԁͱ͔ͰखʹೖΔ) • ใ͕ଟ͍͘ɺΩʔϘʔυ FW ༻ͷڥ͕͋Δ (ޙड़) Ҿ༻: https://www.sparkfun.com/products/12640 https://yushakobo.jp/shop/promicro-spring-pinheader/
ΩʔϚτϦοΫεճ࿏ ▶ ͕͢͞ʹΩʔϘʔυશͯͷΩʔΛΧόʔ͢Δ΄Ͳͷϐϯͳ͍ ▶ ΩʔϚτϦοΫεճ࿏Λͭͬͯ͘εΩϟϯ͢Δ • ྫ) 8 ϐϯͰ 16
ΩʔΛ͏߹ − col0, col1, col2, col3 ͱॱ࣍ Hi ʹ − ରԠ͢Δ row0, row1, row2, row3 ͷೖྗΛݟΔ − μΠΦʔυ͕ೖͬͯͳ͍ͱޡఆ͢Δ
ׂܕΩʔϘʔυ ▶ ׂܕͷΩʔϘʔυͷҰൠతͳߏ • ࠨӈ྆ํͷج൘ʹϚΠίϯΛࡌͤΔ − ͨͩ͠ɺUSB Λଓ͢Δͷยํ͚ͩ − ج൘ͷؒΛ
3/4 ઢͷγϦΞϧ௨৴ͤ͞Δ • ௨৴ʹ 3.5mm ϓϥάͷέʔϒϧ (ΦʔσΟΦͰΑ͘͏ΞϨ) Λ͏ͷ͕ݱࡏͷओྲྀ − TRS(3 ۃ: Ϟϊϥϧέʔϒϧ) − TRRS(4 ۃ: εςϨΦέʔϒϧ) • TRS ͷ߹௨৴࣌ʹૹड৴ΛΓସ࣮͑ͯࢪ͍ͯ͠Δ − VCC/GND Ͱ 2 ۃ༻͢ΔͨΊ − ͔ͭͯ TRRS ͷέʔϒϧΒδϟοΫ͕ೖखͮ͠Β͔ͬͨΒ͍͠? • ւ֎ͷΩʔϘʔυϛʔτΞοϓͰ͋·ΓΈ͔͚ͳ͍Β͍͠
LED / OLED ▶ ΩʔϘʔυ֨ྑ͘ͳ͍͚ͯ͘ͳ͍!! ▶ LED • LED νοϓΛΩʔͷޙΖʹ͚ͭͯจࣈΛޫΒͤΔ
• LED ςʔϓͰصΛޫΒͤΔ • LED νοϓͷΜ͚ͩͪΐͬͱқߴΊ ▶ OLED • I2C ͷ͓͍҆ OLED Λ͚ͭΔͷྲྀߦͬͯΔ • Ϟʔυঢ়ଶΩʔϘʔυͷϩΰΛදࣔͤ͞Δͷʹར༻ • Arduino ༻ͷϥΠϒϥϦ͋ΔͷͰ݁ߏ༡ͦ͏
ΩʔϘʔυͷΈཱͯʹඞཁͳͷ ▶ ඞਢ • Μͩ (ૉʹԖೖΓΛ͍·͠ΐ͏ɻؾҙɻ) • Μͩͯ͝ (ԹௐՄೳͳͷ͕ϕλʔɻLED νοϓΛ͚ΔͳΒ΄΅ඞਢ)
• Μͩͯ͝ (ԚΕམͱ͠ਫΛΘͳ͍ͭͷํ͕ྑ͍) ▶ ४ඞਢ • ϥδΦϖϯν • χούʔ (μΠΦʔυ͕ૉࢠλΠϓͳΒඞਢ) • ϐϯηοτ (μΠΦʔυ LED ͕νοϓλΠϓͳΒඞਢ) ▶ ਪ • ςελʔ • Μͩٵ͍औΓث (ٵ͍औΓઢқߴΊ)
Mint60 Έཱͯ (1/4) ▶ ։෧!!
Mint60 Έཱͯ (2/4) ▶ ΈཱͯΔͥ!!
Mint60 Έཱͯ (3/4)
Mint60 Έཱͯ (3/4) ▶ ࣮ͱΜͰͳ͘Β͔͍ͯ͠·͢
Mint60 Έཱͯ (3/4) ▶ ࣮ͱΜͰͳ͘Β͔͍ͯ͠·͢ ▶ ਖ਼͍͠खॱ: ج൘ˠΞΫϦϧ൛ˠΩʔεΠον
Mint60 Έཱͯ (3/4) ▶ ࣮ͱΜͰͳ͘Β͔͍ͯ͠·͢ ▶ ਖ਼͍͠खॱ: ج൘ˠΞΫϦϧ൛ˠΩʔεΠον ▶ όΧ:
ج൘ˠΩʔεΠονˠΞΫϦϧ൛
Mint60 Έཱͯ (3/4) ▶ ࣮ͱΜͰͳ͘Β͔͍ͯ͠·͢ ▶ ਖ਼͍͠खॱ: ج൘ˠΞΫϦϧ൛ˠΩʔεΠον ▶ όΧ:
ج൘ˠΩʔεΠονˠΞΫϦϧ൛ • όΧʮΩʔΩϟοϓ·Γѱ͍ʯ ʮΞΫϦϧΧόʔͰ͏·͘ڬΊͳ͍ʯ
Mint60 Έཱͯ (4/4) ▶ ٽ͖ͳ͕ΒΩʔεΠονΛ֎͢
Mint60 Έཱͯ (4/4) ▶ ٽ͖ͳ͕ΒΩʔεΠονΛ֎͢ ▶ ͰɺͳΜͱ͔͢ΔγϦΞϧ௨৴Ͱ͖ͣ
Mint60 Έཱͯ (4/4) ▶ ٽ͖ͳ͕ΒΩʔεΠονΛ֎͢ ▶ ͰɺͳΜͱ͔͢ΔγϦΞϧ௨৴Ͱ͖ͣ ▶ ͦΕͧΕʹ USB
έʔϒϧૠͯ͠ӡ༻தʜʜ
Mint60 ͍৺ ▶ جຊϗʔϜϙδγϣϯ९कͳͷͰҧײগͳΊ • ͕ࣗ 6 ΛӈखͰࠨखͰଧͬͯΔࣄʹؾ͍ͨ (Mint60 ͰӈखͷΈ)
• εϖʔεΩʔجຊӈख͕ͩɺΧʔιϧΩʔʹख͕͋ΔͱࠨखͰԡ͍ͯͨ͠ ▶ ݞڽΓ؇Λظ͍͕ͯͨ͠ɺΉ͠Ζࠊ௧ʹޮ͍ͨ!!
ϑΝʔϜΣΞͷΧελϚΠζ (1/4) ▶ ओͳࣗ࡞ΩʔϘʔυΩοτ QMK Firmware Λར༻͍ͯ͠Δ • Atmel AVR
ϚΠίϯ ARM ͷΩʔϘʔυ༻ϑΝʔϜ • ୯७ͳઃఆϑΝΠϧΛॻ͚ͩ͘Ͱ৽ن FW Λ࡞ΕΔ • Mint60 Helix ΞοϓετϦʔϜʹϚʔδࡁΈ ▶ Debian Ͱ͏ʹ % sudo apt install gcc unzip wget zip gcc-avr binutils-avr avr-libc \ dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi \ libnewlib-arm-none-eabi
ϑΝʔϜΣΞͷΧελϚΠζ (1/4) ▶ ओͳࣗ࡞ΩʔϘʔυΩοτ QMK Firmware Λར༻͍ͯ͠Δ • Atmel AVR
ϚΠίϯ ARM ͷΩʔϘʔυ༻ϑΝʔϜ • ୯७ͳઃఆϑΝΠϧΛॻ͚ͩ͘Ͱ৽ن FW Λ࡞ΕΔ • Mint60 Helix ΞοϓετϦʔϜʹϚʔδࡁΈ ▶ Debian Ͱ͏ʹ % sudo apt install gcc unzip wget zip gcc-avr binutils-avr avr-libc \ dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi \ libnewlib-arm-none-eabi ▶ ͦͷޙҎԼͷΑ͏ʹϏϧυͰ͖Δ • (ػछ໊):(ΩʔϚοϓ໊) % make helix:default % make mint60:default
ϑΝʔϜΣΞͷΧελϚΠζ (2/4) ▶ ΩʔͷೖΕସ͑؆୯ʹͰ͖Δ • keyboards/(ΩʔϘʔυ໊)/(ΩʔϚοϓ໊)/keymap.c ͷྻΛฤू͢Δ • ྫ) Helix
ͷίʔυ * ,-----------------------------------------. ,-----------------------------------------. * | ‘ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ’ | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | Shift| Z | X | C | V | B | [ | ] | N | M | , | . | / |Enter | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | * ‘-------------------------------------------------------------------------------------------------’ */ [_QWERTY] = LAYOUT( \ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \ ADJUST, KC_ESC, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ ), ▶ layer ͱݺΕΔɺಉ࣌ԡ࣌͠ʹผͷΩʔΛׂΓ߹ͯΔํ๏࣮͞Ε͍ͯΔ • Helix ͷ߹ɺAdjust/Lower/Raise ͱ͍͏Ωʔ͕ͦΕʹ૬ • ۩ମྫ) “Lower” + “1” = “F1”, “Raise” + “l” / “;” = “PageUP” / “PageDown” • ΩʔͷػೳͰͳͯ͘Α͍ (LED ͷઃఆมߋ)
ϑΝʔϜΣΞͷΧελϚΠζ (3/4) ▶ จࣈྻͷೖྗΛ͢ΔϚΫϩΩʔͷ࡞؆୯ • enum ͱϚΫϩΛఆٛ • ྻΛมߋ enum
macro_keycodes { KC_SAMPLEMACRO, KC_HASH_DEBIAN, /* Ճ */ }; //Macros #define M_SAMPLE M(KC_SAMPLEMACRO) #define M_HASH_DEB M(KC_HASH_DEBIAN) /* Ճ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* தུ */ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_HASH_DEBIAN/* KC_LBR /* ޙུ */
ϑΝʔϜΣΞͷΧελϚΠζ (4/4) ▶ ΩʔೖྗͷϋϯυϥʹՃ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { /* தུ */ case KC_HASH_DEBIAN: if (record->event.pressed) SEND_STRING("#debian #kansaidebian"); break; /* ޙུ */
·ͱΊ ▶ ࣗ࡞ΩʔϘʔυ • ܕͱ͔ • ྻͩͱ͔ΩʔεΠονʹ͍ͭͯΈΛߟ͑Δ • ࠷ॳ͋·Γ (ۃʹΩʔ͕গͳ͍ͱ͔)
حൈͳΩʔϘʔυආ͚ͨํ͕ྑ͍ • Έཱͯνοϓ (LED/μΠΦʔυ) ͕ͳ͍ΩοτͰ͋Εͦ͜·Ͱ͘͠ͳ͍ − ಈ࡞֬ೝϚϝʹ͠Α͏ (ܦݧऀஊ) • ΩʔϚοϓɺ݁ߏࢼߦࡨޡ͕ඞཁ
.
..
...
ͦΕͰຬͰ͖ͳ͍ Ξφλ
ਅͷEndgameΛࢦ͢ Ξφλ
ϓϦϯτج൘ࣗ࡞खॱ
to make the end of battle ▶ ൪ऴΘͬͯຊʹೖΓ·͢
to make the end of battle ▶ ൪ऴΘͬͯຊʹೖΓ·͢ ▶ ͜͜·Ͱݟ͖ͯͯΘ͔ͬͨͱࢥ͍·͕͢
to make the end of battle ▶ ൪ऴΘͬͯຊʹೖΓ·͢ ▶ ͜͜·Ͱݟ͖ͯͯΘ͔ͬͨͱࢥ͍·͕͢
▶ ᘳͳΩοτ͕Έ͔ͭΒͳ͚Ε Endgame ͋Γಘ·ͤΜ
to make the end of battle ▶ ൪ऴΘͬͯຊʹೖΓ·͢ ▶ ͜͜·Ͱݟ͖ͯͯΘ͔ͬͨͱࢥ͍·͕͢
▶ ᘳͳΩοτ͕Έ͔ͭΒͳ͚Ε Endgame ͋Γಘ·ͤΜ Endgame ͷͨΊʹ ج൘͔Βࣗ࡞͠·͠ΐ͏(ࡨཚ)
to make the end of battle ▶ ൪ऴΘͬͯຊʹೖΓ·͢ ▶ ͜͜·Ͱݟ͖ͯͯΘ͔ͬͨͱࢥ͍·͕͢
▶ ᘳͳΩοτ͕Έ͔ͭΒͳ͚Ε Endgame ͋Γಘ·ͤΜ Endgame ͷͨΊʹ ج൘͔Βࣗ࡞͠·͠ΐ͏(ࡨཚ) ▶ ͳ͓ɺ·ͩࢤͰ͢
PCB ͷઃܭ – ࢤ (1/6) ▶ ࠷ۙݸਓͰ PCB(ϓϦϯτج൘) ͕ؾܰʹ࡞ΕΔΑ͏ʹͳ͖ͬͯͯΔ Β͍͠
• seeed • ELECROW ▶ 10cmx10cm Ͱ͋Εɺ5 $͘Β͍Ͱͭ͘Εͯ͠·͏ • (ಉ͡) ج൘Λ 10 ຕ͘Β͍ͭͬͯͦ͘Ε͘Β͍ • Ή͠Ζૹྉͷํ͕ߴ͍Ͱ͢ (DHL ͱ͔ʹ͢Δͱ 20 $ͱ͔ʹͳΔ)
PCB ͷઃܭ – ࢤ (2/6) ▶ ઃܭʹ? • KiCad ͱ͍͏
OSS ͕͋Δ • Linux/Mac/Windows ͲΕͰಈ͖·͢ • ެࣜ deb ͋ΔΑ!! % apt search ’^kicad$’ ιʔτத... ྃ શจݕࡧ... ྃ kicad/unstable,now 5.1.5+dfsg1-1 amd64 [ΠϯετʔϧࡁΈ] ిࢠճ࿏͓Αͼ PCB ઃܭιϑτΣΞ ▶ ࢀߟʹͳΔจݙ • KiCad 5.0 / 5.1 ೖ࣮शςΩετʰKiCad Basics for 5.xʱ • ࣗ࡞ΩʔϘʔυઃܭೖ
PCB ͷઃܭ – ࢤ (3/6) ▶ ·ͣճ࿏ਤΛͭ͘Γ·͢ • ΩʔϘʔυ༻ͷύʔπ (εΠονͱ͔
promicro ͱ͔) • ʮࣗ࡞ΩʔϘʔυઃܭೖʯͷ࡞ऀ͕ KiCad ༻ϥΠϒϥϦΛެ։ͯ͘͠Εͯ·͢ • https://github.com/foostan/kbd − దͳॴʹ clone ͯ͠ʮγϯϘϧϥΠϒϥϦʔΛཧʯͰొ͠·͠ΐ͏
PCB ͷઃܭ – ࢤ (4/6) ▶ ࣍ʹϑοτϓϦϯτΛؔ࿈͚·͢ • ϑοτϓϦϯτઌఔͷॴʹϥΠϒϥϦ͕ެ։͞Εͯ·͢ •
֤ύʔπ͝ͱʹϑοτϓϦϯτΛͲΕʹ͢Δ͔ಓʹબ͍͖ͯ͠·͢ − Cherry MX / Kailh ϩʔϓϩͷ྆ରԠͷϑοτϓϦϯτ͋Γ·͢
PCB ͷઃܭ – ࢤ (5/6) ▶ ࣍ʹϨΠΞτΛ͍͖ͯ͠·͢ • ύʔπ͕ׯব͠ͳ͍Α͏ʹҙͯ͠ʜʜ •
ൃදऀݱঢ়Ͱ͜͜Ͱྗਚ͖ͯ·͢ • ΩʔͷϨΠΞτ༻ͷπʔϧ͋Δ − http://www.keyboard-layout-editor.com/
PCB ͷઃܭ – ࢤ (6/6) ▶ ͜ͷޙʜʜ • ΤοδΧοτઢΛҾ͘ •
εϖʔαʔ༻ͷ݀Λ͚͋Δ • ઢΛ࣮ࢪ͢Δ (Ұ൪େมΒ͍͠) • ඞཁʹԠͯ͡έʔεΛ࡞͢Δ − ΞΫϦϧ൘ΛՃ͢Δͷ͕ओྲྀ − ࠷ۙ 3D ϓϦϯλ͕૿͍͑ͯΔΈ͍ͨʜʜ ▶ PCB σʔλ͕ެ։͞Ε͍ͯΔΩʔϘʔυͷվมΛ͢Δͱ͍͏ख͋Δ • Helix : https://github.com/MakotoKurauchi/helix • fortitude60: https://github.com/Pekaso/fortitude60
ΩʔϘʔυใ ▶ ࠷ޙʹɺͲΜͳͱ͜ΖͰใΛಘΔͷ͕ྑ͍͔͝հ • ༡ࣷ − ࣗ࡞ΩʔϘʔυઐళ! − ळ༿ݪ๚ͷࡍੋඇ (Ͳ͔ͬͪͱ͍͏ͱொͷ͕͍ۙ)
• ϛʔτΞοϓܥ − ఱԼҰΩʔϘʔυΘ͍Θ͍ձ Vol.3 − ʲେࡕʳࣗ࡞ΩʔϘʔυ࡞ձ − ࣗ࡞ΩʔϘʔυೖϫʔΫγϣοϓ in γϦίϯϋε − γϦίϯϋε͞Μ࠷ۙΩοτஔ͖ͩͨ͠ • Youtube − ΄΅िץΩʔϘʔυχϡʔε
·ͱΊ (Γͳ͓͠) ▶ ࣗ࡞ΩʔϘʔυ • ܕͱ͔ • ྻͩͱ͔ΩʔεΠονʹ͍ͭͯΈΛߟ͑Δ • ࠷ॳ͋·Γ
(ۃʹΩʔ͕গͳ͍ͱ͔) حൈͳΩʔϘʔυආ͚ͨํ͕ྑ͍ • Έཱͯνοϓ (LED/μΠΦʔυ) ͕ͳ͍ΩοτͰ͋Εͦ͜·Ͱ͘͠ͳ͍ − ಈ࡞֬ೝϚϝʹ͠Α͏ (ܦݧऀஊ) • ΩʔϚοϓɺ݁ߏࢼߦࡨޡ͕ඞཁ ▶ PCB ͔Βͷࣗ࡞ • 10cmx10cm Ͱ͓ࢼ͢͠Δͷ͕Αͦ͞͏ • PCB σʔλͷ࡞ʹϑϦʔͷ KiCad ͕͔ͭ͑Δ
Έͳ͞ΜԹઘೖΓ·ͤ Μ͔?