Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dependency Inversion Principle in Keyboard Firmware

Dependency Inversion Principle in Keyboard Firmware

5 minutes lightning talk slides for m3 tech talk #126

Takayuki Matsubara

July 12, 2019
Tweet

More Decks by Takayuki Matsubara

Other Decks in Programming

Transcript

  1. Dipendency
    Inversion
    Principle
    in Keyboard Firmware

    View Slide

  2. self-introduction

    View Slide

  3. @ma2ge | @ma2gedev

    View Slide

  4. ErgoDox EZ

    View Slide

  5. Infinity ErgoDox

    View Slide

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

    View Slide

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

    View Slide

  8. View Slide

  9. It seems to apply any so!ware
    system

    View Slide

  10. Keyboard firmware?

    View Slide

  11. QMK firmware
    — github.com/qmk/qmk_firmware

    View Slide

  12. How to support various
    keymaps

    View Slide

  13. View Slide

  14. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. Summary
    — Dipendency Inversion Principle in any software system

    View Slide

  21. DIP

    View Slide

  22. 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

    View Slide