Slide 1

Slide 1 text

Dipendency Inversion Principle in Keyboard Firmware

Slide 2

Slide 2 text

self-introduction

Slide 3

Slide 3 text

@ma2ge | @ma2gedev

Slide 4

Slide 4 text

ErgoDox EZ

Slide 5

Slide 5 text

Infinity ErgoDox

Slide 6

Slide 6 text

Clean ArchitectureɹୡਓʹֶͿιϑτ΢ΣΞͷߏ଄ͱઃܭ

Slide 7

Slide 7 text

ΞʔΩςΫνϟͷϧʔϧ͸ͲΕ΋ಉ͡Ͱ͋Δ ❗ ❗ ❗ ❗

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

It seems to apply any so!ware system

Slide 10

Slide 10 text

Keyboard firmware?

Slide 11

Slide 11 text

QMK firmware — github.com/qmk/qmk_firmware

Slide 12

Slide 12 text

How to support various keymaps

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

github.com/qmk/qmk_firmware/tree/master/keyboards

Slide 16

Slide 16 text

github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez

Slide 17

Slide 17 text

github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez/keymaps

Slide 18

Slide 18 text

github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez/keymaps/default

Slide 19

Slide 19 text

github.com/qmk/qmk_firmware/blob/ 475d2c0c303e9f57d7034fd478ceb724fdd0df44/keyboards/ ergodox_ez/keymaps/default/keymap.c

Slide 20

Slide 20 text

Summary — Dipendency Inversion Principle in any software system

Slide 21

Slide 21 text

DIP

Slide 22

Slide 22 text

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