|
|
- # ใญใผใใผใใใใชใใฏในใฎไป็ตใฟ
-
- <!---
- 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](https://pcbheaven.com/wikipages/How_Key_Matrices_Works/) (ใขใใกใผใทใงใณใฎไพ)
- - [ใญใผใใผใใฎไป็ตใฟ - QMK ใใญใฅใกใณใ](ja/how_keyboards_work.md)
|