Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dependency Inversion Principle in Keyboard Firm...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Takayuki Matsubara
July 12, 2019
Programming
540
0
Share
Dependency Inversion Principle in Keyboard Firmware
5 minutes lightning talk slides for m3 tech talk #126
Takayuki Matsubara
July 12, 2019
More Decks by Takayuki Matsubara
See All by Takayuki Matsubara
Rails Web Development with AWS Lambda
ma2gedev
0
330
Coding Challenge Advent of Code 2019
ma2gedev
0
160
Developer Experience in GraphQL Schema-first Development
ma2gedev
0
2.4k
OSSの歩き方 / Walking with OSS
ma2gedev
10
2.6k
GraphQL 開発で必要になったこと / What we needed for GraphQL development
ma2gedev
0
1.2k
キーボードをカスタムしてプログラミング環境を良くした話 / Improved programming environment with customizing keybords
ma2gedev
0
1.4k
Translating "Erlang in Anger" with Erlang & Elixir community members
ma2gedev
0
2.9k
Dive into Elixir v1.6 Code Formatter
ma2gedev
1
200
Make it easy to input `|>`
ma2gedev
2
3k
Other Decks in Programming
See All in Programming
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
280
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
120
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
540
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.2k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
590
KagglerがMixSeekを触ってみた
morim
0
360
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
270
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
290
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
OTP を自動で入力する裏技
megabitsenmzq
0
130
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
180
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
320
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
Navigating Weather and Climate Data
rabernat
0
160
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Documentation Writing (for coders)
carmenintech
77
5.3k
Done Done
chrislema
186
16k
The Curious Case for Waylosing
cassininazir
0
290
Embracing the Ebb and Flow
colly
88
5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
We Have a Design System, Now What?
morganepeng
55
8.1k
4 Signs Your Business is Dying
shpigford
187
22k
Transcript
Dipendency Inversion Principle in Keyboard Firmware
self-introduction
@ma2ge | @ma2gedev
ErgoDox EZ
Infinity ErgoDox
Clean ArchitectureɹୡਓʹֶͿιϑτΣΞͷߏͱઃܭ
ΞʔΩςΫνϟͷϧʔϧͲΕಉ͡Ͱ͋Δ ❗ ❗ ❗ ❗
None
It seems to apply any so!ware system
Keyboard firmware?
QMK firmware — github.com/qmk/qmk_firmware
How to support various keymaps
None
None
github.com/qmk/qmk_firmware/tree/master/keyboards
github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez
github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez/keymaps
github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez/keymaps/default
github.com/qmk/qmk_firmware/blob/ 475d2c0c303e9f57d7034fd478ceb724fdd0df44/keyboards/ ergodox_ez/keymaps/default/keymap.c
Summary — Dipendency Inversion Principle in any software system
DIP
Resources — Clean Architecture ୡਓʹֶͿιϑτΣΞͷߏͱઃܭ — qmk/qmk_firmware: Open-source keyboard firmware
for Atmel AVR and Arm USB families https:// github.com/qmk/qmk_firmware — QMK Firmware https://docs.qmk.fm/#/ — Understanding QMK - QMK Firmware https:// docs.qmk.fm/#/understanding_qmk