forked from mfulz_github/qmk_firmware
105 lines
7.3 KiB
Markdown
105 lines
7.3 KiB
Markdown
|
# ใญใผใใผใใใใชใใฏในใฎไป็ตใฟ
|
||
|
|
||
|
<!---
|
||
|
original document: 0.9.32:docs/how_a_matrix_works.md
|
||
|
git diff 0.9.32 HEAD -- docs/how_a_matrix_works.md | cat
|
||
|
-->
|
||
|
|
||
|
ใญใผใใผใในใคใใใฎใใใชใใฏในใฏ่กใจๅใซ้
็ฝฎใใใพใใใใใชใใฏในๅ่ทฏใใชใใใฐใๅในใคใใใฏใณใณใใญใผใฉใซ็ดๆฅ้
็ทใใๅฟ
่ฆใใใใพใใ
|
||
|
|
||
|
ๅ่ทฏใ่กใจๅใซ้
็ฝฎใใใฆใใๅ ดๅใใญใผใๆผใใใใจใๅใฏใคใคใ่กใฏใคใคใจๆฅ่งฆใใๅ่ทฏใๅฎๆใใพใใใญใผใใผใใณใณใใญใผใฉใฏใใฎ้ๅ่ทฏใๆค็ฅใใใญใผๆผไธใจใใฆ็ป้ฒใใพใใ
|
||
|
|
||
|
ใใคใฏใญใณใณใใญใผใฉใฏใใกใผใ ใฆใงใขใไปใใฆใปใใใขใใใใใ่ซ็1ใไธๅบฆใซ1ใคใใคๅใซ้ไฟกใใ่กใใไธๅบฆใซๅ
จใฆใ่ชญใฟๅใใพใ - ใใฎใใญใปในใฏใใใชใใฏในในใญใฃใณใจๅผใฐใใพใใใใใชใใฏในใฏใใใฉใซใใงใฏ้ปๆตใฎ้้ใ่จฑๅฏใใชใใใใใใฎ้ใใในใคใใใงใ - ใใกใผใ ใฆใงใขใฏใญใผใๆผใใใฆใใชใใใฎใจใใฆใใใ่ชญใฟๅใใพใใ1ใคใฎใญใผใๆผใใจใใใซใใญใผในใคใใใๆฅ็ถใใใฆใใๅใใๆฅใฆใใ่ซ็1ใในใคใใใ้้ใใฆๅฏพๅฟใใ่กใซๆธกใใใพใ - ไปฅไธใฎ 2x2 ใฎไพใ็ขบ่ชใใฆใใ ใใ:
|
||
|
|
||
|
Column 0 being scanned Column 1 being scanned
|
||
|
x x
|
||
|
col0 col1 col0 col1
|
||
|
| | | |
|
||
|
row0 ---(key0)---(key1) row0 ---(key0)---(key1)
|
||
|
| | | |
|
||
|
row1 ---(key2)---(key3) row1 ---(key2)---(key3)
|
||
|
|
||
|
`x` ใฏ้ข้ฃไปใใใใๅใจ่กใฎๅคใ1ใงใใใใHIGH ใงใใใใจใ่กจใใพใใใใใงใฏใใญใผใๆผใใใฆใใชใใใจใๅใใใพใใใใฎใใ `x` ใๅๅพใใ่กใฏใใใพใใใ1ใคใฎใญใผในใคใใใฎไบใคใฎๆฅ็นใฏใใฎในใคใใใฎใใ่กใจๅใซใใใใๆฅ็ถใใใฆใใใใจใซๆณจๆใใฆใใ ใใใ
|
||
|
|
||
|
`key0` ใๆผใใจใ`col0` ใฏ `row0` ใซๆฅ็ถใใใใใใใใกใผใ ใฆใงใขใใใฎ่กใซๅฏพใใฆๅใๅใๅคใฏ `0b01` ใงใ (ใใใง `0b` ใฏใใใใใใๅคใงใใใใจใๆๅณใใพใใใคใพใๆฌกใฎๆฐๅญใฏๅ
จใฆใใใ(0ใพใใฏ1)ใงใใใใใฎๅใฎใญใผใ่กจใใพใ)ใใใฎ่กจ่จใไฝฟ็จใใฆใใญใผในใคใใใๆผใใใใใจใ็คบใใๅใจ่กใๆฅ็ถใใใฆใใใใจใ็คบใใพใ:
|
||
|
|
||
|
Column 0 being scanned Column 1 being scanned
|
||
|
x x
|
||
|
col0 col1 col0 col1
|
||
|
| | | |
|
||
|
x row0 ---(-+-0)---(key1) row0 ---(-+-0)---(key1)
|
||
|
| | | |
|
||
|
row1 ---(key2)---(key3) row1 ---(key2)---(key3)
|
||
|
|
||
|
`row0` ใซใฏ `x` ใใใใใใๅคใ1ใงใใใใจใใใใใพใใๅ
จไฝใจใใฆใ`key0` ใๆผใใใๆใซใใกใผใ ใฆใงใขใๅไฟกใใใใผใฟใฏใ
|
||
|
|
||
|
col0: 0b01
|
||
|
col1: 0b00
|
||
|
โโrow0
|
||
|
โrow1
|
||
|
|
||
|
ไธๅบฆใซ่คๆฐใฎใญใผใๆผใๅงใใใจๅ้กใ็บ็ใใพใใใใใชใใฏในใใใไธๅบฆ่ฆใใจใใใชใๆ็ฝใซใชใฃใฆใใใฏใใงใ:
|
||
|
|
||
|
Column 0 being scanned Column 1 being scanned
|
||
|
x x
|
||
|
col0 col1 col0 col1
|
||
|
| | | |
|
||
|
x row0 ---(-+-0)---(-+-1) x row0 ---(-+-0)---(-+-1)
|
||
|
| | | |
|
||
|
x row1 ---(key2)---(-+-3) x row1 ---(key2)---(-+-3)
|
||
|
|
||
|
Remember that this ^ is still connected to row1
|
||
|
|
||
|
ใใใใๅๅพใใใใใผใฟใฏไปฅไธใฎ้ใใงใ:
|
||
|
|
||
|
col0: 0b11
|
||
|
col1: 0b11
|
||
|
โโrow0
|
||
|
โrow1
|
||
|
|
||
|
4ใคๅ
จใฆใงใฏใชใใ3ใคใฎใญใผใใๆผใใใฆใใชใใใใใใใฏๆญฃ็ขบใงใฏใใใพใใใใใฎๆๅใฏใดใผในใใจๅผใฐใใใใฎใใใชๅฅๅฆใชใทใใชใชใงใฎใฟ็บ็ใใพใใใใใๅคงใใชใญใผใใผใใงใฏใใไธ่ฌ็ใงใใใใใๅ้ฟใใๆนๆณใฏใใญใผในใคใใใฎๅพใซใ่กใซๆฅ็ถใใๅใซใใคใชใผใใ้
็ฝฎใใใใจใงใใใใคใชใผใใฏใ้ปๆตใไธๆนๅใซใฎใฟๆตใใใใใซใใพใใใใใซใใใๅใฎไพใงไปใฎๅใจ่กใใขใฏใใฃใใซใชใใชใใใใซใใพใใใใคใชใผใใใใชใใฏในใใใฎใใใซ่กจใใพใ;
|
||
|
|
||
|
Column 0 being scanned Column 1 being scanned
|
||
|
x x
|
||
|
col0 col1 col0 col1
|
||
|
โ โ | โ
|
||
|
(key0) (key1) (key0) (key1)
|
||
|
! โ ! โ ! | ! โ
|
||
|
row0 โโโโโโดโโโโโโโโโ โ row0 โโโโโโดโโโโโโโโโ โ
|
||
|
โ โ | โ
|
||
|
(key2) (key3) (key2) (key3)
|
||
|
! ! ! !
|
||
|
row1 โโโโโโดโโโโโโโโโ row1 โโโโโโดโโโโโโโโโ
|
||
|
|
||
|
ๅฎ้ใฎ็จ้ใงใฏใใใคใชใผใใฎ้ปใ็ทใ่กใซ้ขใใใใใซใใญใผในใคใใใใ้ขใใใใใซ้
็ฝฎใใใพใ - ใใฎๅ ดๅใฎ `!` ใฏใใคใชใผใใงใ้้ใฏ้ปใ็ทใ่กจใใพใใใใใ่ฆใใ่ฏใๆนๆณใฏใไปฅไธใฎใทใณใใซใ่ใใใใจใงใ: `>|`
|
||
|
|
||
|
ๆฌกใซใ3ใคใฎใญใผใๆผใใฆใใดใผในใใทใใชใชใจใชใใใฎใๅฎๆฝใใพใ:
|
||
|
|
||
|
Column 0 being scanned Column 1 being scanned
|
||
|
x x
|
||
|
col0 col1 col0 col1
|
||
|
โ โ โ โ
|
||
|
(โโโค0) (โโโค1) (โโโค0) (โโโค1)
|
||
|
! โ ! โ ! โ ! โ
|
||
|
x row0 โโโโโโดโโโโโโโโโ โ x row0 โโโโโโดโโโโโโโโโ โ
|
||
|
โ โ โ โ
|
||
|
(key2) (โโโ3) (key2) (โโโ3)
|
||
|
! ! ! !
|
||
|
row1 โโโโโโดโโโโโโโโโ x row1 โโโโโโดโโโโโโโโโ
|
||
|
|
||
|
ๅ
จใฆใๆๅพ
้ใใซๅใใพใ๏ผใใใซใใใไปฅไธใฎใใผใฟใๅๅพใใใพใ:
|
||
|
|
||
|
col0: 0b01
|
||
|
col1: 0b11
|
||
|
โโrow0
|
||
|
โrow1
|
||
|
|
||
|
ใใกใผใ ใฆใงใขใฏใใฎๆญฃใใใใผใฟใไฝฟใฃใฆใไฝใใในใใใใๆ็ต็ใซใฏ OS ใซ้ไฟกใใๅฟ
่ฆใฎใใไฟกๅทใๆคๅบใงใใพใใ
|
||
|
|
||
|
ๅ่ๆ็ฎ:
|
||
|
- [Wikipedia ใฎ่จไบ](https://en.wikipedia.org/wiki/Keyboard_matrix_circuit)
|
||
|
- [Deskthority ใฎ่จไบ](https://deskthority.net/wiki/Keyboard_matrix)
|
||
|
- [Dave Dribin ใซใใ Keyboard Matrix Help (2000)](https://www.dribin.org/dave/keyboard/one_html/)
|
||
|
- [PCBheaven ใซใใ How Key Matrices Works](http://pcbheaven.com/wikipages/How_Key_Matrices_Works/) (ใขใใกใผใทใงใณใฎไพ)
|
||
|
- [ใญใผใใผใใฎไป็ตใฟ - QMK ใใญใฅใกใณใ](ja/how_keyboards_work.md)
|