summaryrefslogtreecommitdiffstats
path: root/keyboard/hhkb/doc
diff options
context:
space:
mode:
authorChristopher Browne <cbbrowne@ca.afilias.info>2016-05-26 15:17:00 -0400
committerChristopher Browne <cbbrowne@ca.afilias.info>2016-05-26 15:17:00 -0400
commitd649ab34334ff568448c47a04fcf40f1aa960135 (patch)
tree4cc848e8892b21839da14d7b9ac628f6cfbefadf /keyboard/hhkb/doc
parent48871b9b6b99201abc381ee27cfd94e211ca131a (diff)
parent89f0472b9e1c751034a745898fd495bbd49f2b66 (diff)
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'keyboard/hhkb/doc')
-rw-r--r--keyboard/hhkb/doc/Bluetooth.txt39
-rw-r--r--keyboard/hhkb/doc/Bluetooth_img/BT_circuit.jpgbin502118 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB.txt204
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_TP1684.jpgbin149082 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_chart1.jpgbin155342 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_chart2.jpgbin148225 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_connector.jpgbin193900 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_controller.jpgbin135100 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_keyswitch.jpgbin171469 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/connector_contact.jpgbin192830 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/logic_analyzer.jpgbin169564 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/probe_contact.jpgbin208477 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/teensy_install.jpgbin135851 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/teensy_wiring.jpgbin154695 -> 0 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_keycodes.txt69
-rw-r--r--keyboard/hhkb/doc/Power.txt48
-rw-r--r--keyboard/hhkb/doc/V-USB.md39
17 files changed, 0 insertions, 399 deletions
diff --git a/keyboard/hhkb/doc/Bluetooth.txt b/keyboard/hhkb/doc/Bluetooth.txt
deleted file mode 100644
index 24243aff86..0000000000
--- a/keyboard/hhkb/doc/Bluetooth.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-HHKB Bluetooth mod
-==================
-See this article:
-http://geekhack.org/showwiki.php?title=Island:20851
-
-
-
-Power consume
-=============
-Switch board
-------------
-5V
-18mA full scan/no power control
-16.5mA full scan with power control of POWER_ON/POWER_OFF in matrix.c
-3.5-6mA 60ms watchdog timer sleep iwrap/main.c
-
-- the longer sleep time the less power is consumed.
-- power control of swtich board must be needed.
-FET switch may be better, though 18mA is with in port sink current limit. In current design switch board ground is connected to PB5 pin and power it on by making the pin low.
-
-Blueguiga WT12
---------------
-3.3V
--42mA startup/searching/connecting
-19-23mA connected
-4mA -8mA not connected
-
-iWRAP sleep command may not work. to be looked into.
-
-Power Over all
---------------
-5V
--65mA startup
-17-24mA idle/not connected
--42mA connecting
-32-37mA idle/connecting(with sleep)
-50-53mA typing/connecting(no sleep)
-
-2013/06/07
diff --git a/keyboard/hhkb/doc/Bluetooth_img/BT_circuit.jpg b/keyboard/hhkb/doc/Bluetooth_img/BT_circuit.jpg
deleted file mode 100644
index 2e5a25e81e..0000000000
--- a/keyboard/hhkb/doc/Bluetooth_img/BT_circuit.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB.txt b/keyboard/hhkb/doc/HHKB.txt
deleted file mode 100644
index 3d08ceb0af..0000000000
--- a/keyboard/hhkb/doc/HHKB.txt
+++ /dev/null
@@ -1,204 +0,0 @@
-Internal of HHKB pro
-=====================
-HHKB pro has MCU and some chips on separate two PCBs.
-
-Controller PCB
---------------
- M38K07M4 Renesas MCU with USB function
- http://documentation.renesas.com/eng/products/mpumcu/rej03b0192_38k0ds.pdf
-
- (HHKB_controller.jpg)
-
-Keyswitch PCB
--------------
- HC4051 Analog Multiplexer: select a row line.
- http://www.ti.com/lit/ds/schs122j/schs122j.pdf
- LS145 BCD Decoder: select a column line.
- http://www.ti.com/lit/ds/symlink/sn74ls145.pdf
- BU9831 Non-volatile electronic potentiometer: for calibration?
- https://www.spezial.com/doc/rohm-a/bu9831.pdf
- TP1683/4 Capacitive Sensing controller: no datasheet available.
-
- (HHKB_keyswitch.jpg)
-
- Topre original chip?
- (HHKB_TP1684.jpg)
-
-
-Connector Cable
----------------
-Two PCBs are connected by 15 lines(13 in case of Pro2).
-Vcc and GND use 3(2) lines each, other lines are for keyboard signaling.
-
- HHKB connector lines:
- JP Pro2 Pro Function Description TMK pin usage
- --------------------------------------------------------------------------------------------
- 1 Vcc(5V) 5V
- 1 1 2 Vcc(5V) 5V
- 2 2 3 Vcc(5V) 5V
- 3 3 4 TP1684 ~KEY: Low(0) when key is pressed PD7 input(with pullup)
- 4 4 5 TP1684 HYS: High(1) when key is pressed PB7 output
- 5 5 6 HC4051 A(bit0)\ PB0 output
- 6 6 7 HC4051 B(bit1) > select row 0-7 PB1 output
- 7 7 8 HC4051 C(bit2)/ PB2 output
- 8 8 9 LS145 A(bit0)\ PB3 output
- 9 9 10 LS145 B(bit1) > select column 0-7 PB4 output
- 10 10 11 LS145 C(bit2)/ PB5 output
- 11 11 12 LS145 ~D(enable) Low(0) enables selected column PB6 output
- 12 12 13 GND GND
- 13 13 14 GND GND
- 15 GND
- 14 HC4051(Z2) ~Enable of Z2 row0-7 PC6
- 15 HC4051(Z3) ~Enable of Z3 row8-15 PC7
-
- NOTE: Probably HYS changes threshold for upstroke and makes hysteresis in the result.
- NOTE: HYS should be given High(1) when previous KEY state is Low(0).
- NOTE: 1KOhm didn't work as pullup resistor on KEY. AVR internal pullup or 10KOhm resistor was OK.
- NOTE: JP has two HC4051(Z2,Z3) and line 5, 6 and 7 are connected to both of them.
-
- (HHKB_connector.jpg)
-
-
-Keyswitch matrix
-----------------
-HHKB switch matrix is ghost-free and bounce-free.
-
- Pro/Pro2(8x8):
- COL 0 1 2 3 4 5 6 7
- ROW ---------------------------------------------------------------
- 0| 2 q w s a z x c
- 1| 3 4 r e d f v b
- 2| 5 6 y t g h n _NONE_
- 3| 1 Esc Tab Control LShift LAlt LMeta Space
- 4| 7 8 u i k j m _NONE_
- 5| \ ` Delete Return Fn RShift RAlt RMeta
- 6| 9 0 o p ; l , _NONE_
- 7| - + ] [ ' / . _NONE_
-
-
- JP(16x8):
- COL 0 1 2 3 4 5 6 7
- ROW ---------------------------------------------------------------
- 0| ESC TAB LFn LShift LCtrl
- 1| 4 E MuHKN C D
- 2| 3 W LAlt X S
- 3| 1 HHK
- 4|
- 5| 5 R V F
- 6| 2 Q LGui Z A
- 7| 6 T Space B G
- 8| 9 I Kana , K
- 9| 8 U Henkan M J
- A| 7 Y N H
- B| 0 O RAlt . L
- C| BS Right RShift Enter
- D| \ [ Down Up ]
- E| - P RFn / ;
- F| ~ @ Left Ro :
-
-
-Matrix diagram:
-
- Pro/Pro2:
- +-------------------------+-+-+-+-+-+-+-+ Vcc
- |bias control? - - - - - - - - ---
- | 3.9K*8 R R R R R R R R |
- +--------^+ +--------+ - - - - - - - - |
- | 2| | HC4051 <0-------|-|-|-|-|-|-|-|--|R|-+
- | |capa. | <1-------|-|-|-|-|-|-|-|--|R|-+
- | TP1684 |sense | <2-------|-|-|-|-|-|-|-|--|R|-+
- | 11<------| <3-------|-|-|-|-|-|-|-|--|R|-+
- | | | <4-------|-|-|-|-|-|-|-|--|R|-+
- | | | <5-------|-|-|-|-|-|-|-|--|R|-+
- | <-+ | <6-------|-|-|-|-|-|-|-|--|R|-+
- | 1 4 | | | <7-------|-|-|-|-|-|-|-|--|R|-+
- +---V---^-+ | +-^-^-^--+ 0 1 2 3 4 5 6 7 33K*8
- KEY HYS | A B C +-----------------+
- | | +-^----+ | | | | LS145 |
- Vcc | | |BU9831| | | | +-^--^--^--^------+
- --- | | +------+ | | | A B C D +-------+
- | | | | | | | | | | | |
- 1-3 4 5 6 7 8 9 10 11 12 13-15 Pro |
- 1-2 3 4 5 6 7 8 9 10 11 12-13 Pro2|
- +--------------------------------------------------+ |
- | connector | ---
- +--------------------------------------------------+ GND
-
-
- JP:
- +-----------------------------+-+-+-+-+ Vcc
- |bias control? - - - - - ---
- | 3.9K*5 R R R R R |
- +--------^+ +--------+ - - - - - |
- | | | HC4051 <0-----------|-|-|-|-|----|R|-+
- | |capa. | Z2 <1-----------|-|-|-|-|----|R|-+
- | TP1684 |sense | <2-----------|-|-|-|-|----|R|-+
- | <---+--| <3-----------|-|-|-|-|----|R|-+
- | | | | <4-----------|-|-|-|-|----|R|-+
- | | ~En| <5-----------|-|-|-|-|----|R|-+
- | | +----> <6-----------|-|-|-|-|----|R|-+
- | | | | | A B C <7-----------|-|-|-|-|----|R|-+
- +---V---^-+ | | +-^-^-^--+ | | | | | |
- KEY HYS | | | | | | | | | | |
- | | | | +--------+ | | | | | |
- | | | | | HC4051 <8-----------|-|-|-|-|----|R|-+
- | | | | | Z3 <9-----------|-|-|-|-|----|R|-+
- | | | +--| <A-----------|-|-|-|-|----|R|-+
- | | | | <B-----------|-|-|-|-|----|R|-+
- | | | | <C-----------|-|-|-|-|----|R|-+
- | | | ~En| <D-----------|-|-|-|-|----|R|-+
- | | | +-> <E-----------|-|-|-|-|----|R|-+
- | | | | | A B C <F-----------|-|-|-|-|----|R|-+
- | | | | +-^-^-^--+ 0 1 2 3 4 5 6 7 33K*8
- | | | | | | | +-----------------+
- | | | | | | | | LS145 |
- Vcc | | | | | | | +-^--^--^--^------+
- --- | | | | | | | A B C D +-------+
- | | | | | | | | | | | | | |
- 1-2 3 4 14 15 5 6 7 8 9 10 11 12-13 |
- +--------------------------------------------------+ |
- | connector | ---
- +--------------------------------------------------+ GND
-
-
-Signals charts
---------------
- While pressing space bar, watched HHKB Pro original controller signals by logic analyzer.
- Row and column is looping between 0-7 each for selecting a key.
- A key is scaned every about 15ms, so scan rate is 66Hz.
-
- (HHKB_chart1.jpg)
-
- Space bar locate at ROW:3 COL:7. A key is selected by HC4051(C,B,A) and LS145(C,B,A).
- Key state can be read on TP1684(4/KEY) while asserting low on LS145(D).
-
- (HHKB_chart2.jpg)
-
-
- Signal of JP:
-
- 1) Select row
- rowC ____~~~~____~~~~ 3.8/3.8ms(JP) 7.7/7.7ms(Pro) S2 of HC4051
- rowB __~~__~~__~~__~~ 1.9/1.9ms(JP) 3.8/3.8ms(Pro) S1 of HC4051
- rowA _~_~_~_~_~_~_~_~ 1.0/1.0ms(JP) 1.9/1.9ms(Pro) S0 of HC4051
- 0123456701234567 selected row(Pro)
- 0123456789ABCDEF selected row(JP)
- rowEn0 ________~~~~~~~~ 7.7/7.7ms(JP only) ~Enable of Z2 HC4051(JP only)
- rowEn1 ~~~~~~~~________ 7.7/7.7ms(JP only) ~Enable of Z3 HC4051(JP only)
-
- 2) Select column
- colC ____~~~~____~~~~ 550/410us(JP) / us(Pro)
- colB __~~__~~__~~__~~ 200/210us(JP) 450/460us(Pro)
- colA _~_~_~_~_~_~_~_~ 100/110us(JP) 220/230us(Pro)
- 0123456701234567 selected column
-
- 3) Wait 5us after column select, then set prev, strobe colD to spit out key status and read it.
- hys _~~~~_____ 20us if previous key state is low
- colD ~~~__~~~~~ 10us strobe
- key ~~~____~~~ 22us indicates current state of the key
-
- NOTE: JP scans twice fast as Pro/Pro2 does. So Pro/Pro2 scans 8x8 matrix in 15.4ms while JP scans 16x8 in that time.
-
-
-
-EOF
diff --git a/keyboard/hhkb/doc/HHKB_img/HHKB_TP1684.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_TP1684.jpg
deleted file mode 100644
index 0a03164094..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/HHKB_TP1684.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/HHKB_chart1.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_chart1.jpg
deleted file mode 100644
index 1f09bd185c..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/HHKB_chart1.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/HHKB_chart2.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_chart2.jpg
deleted file mode 100644
index 45f5ada905..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/HHKB_chart2.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/HHKB_connector.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_connector.jpg
deleted file mode 100644
index e8a09e9b28..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/HHKB_connector.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/HHKB_controller.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_controller.jpg
deleted file mode 100644
index e3dae8e86c..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/HHKB_controller.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg
deleted file mode 100644
index 3afc269e7b..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/connector_contact.jpg b/keyboard/hhkb/doc/HHKB_img/connector_contact.jpg
deleted file mode 100644
index 5304bc8d7e..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/connector_contact.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/logic_analyzer.jpg b/keyboard/hhkb/doc/HHKB_img/logic_analyzer.jpg
deleted file mode 100644
index f1b438ae77..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/logic_analyzer.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/probe_contact.jpg b/keyboard/hhkb/doc/HHKB_img/probe_contact.jpg
deleted file mode 100644
index dc79afa0cc..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/probe_contact.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/teensy_install.jpg b/keyboard/hhkb/doc/HHKB_img/teensy_install.jpg
deleted file mode 100644
index 873d988edb..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/teensy_install.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_img/teensy_wiring.jpg b/keyboard/hhkb/doc/HHKB_img/teensy_wiring.jpg
deleted file mode 100644
index 1c4eb67434..0000000000
--- a/keyboard/hhkb/doc/HHKB_img/teensy_wiring.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboard/hhkb/doc/HHKB_keycodes.txt b/keyboard/hhkb/doc/HHKB_keycodes.txt
deleted file mode 100644
index 9ec85901e0..0000000000
--- a/keyboard/hhkb/doc/HHKB_keycodes.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-HHKB keycodes
-=============
-2015/10/03
-Looked into unclear keycodes(usages) of Fn-chording-key on HHKB.
-Followings are usages of Keyboard/Keypad Page(0x07) that HHKB spits out when Fn key is down.
-
-## HHK mode(Off-Off)
- Key Usage
- ------------------------
- ⌘ / ◇ 0x78 Stop
-
-## Lite Ext. mode(On-Off)
-
-
-## Mac mode(Off-On)
- Key Usage
- ------------------------
- Esc 0x66 Power
- A 0x81 Volume Down
- S 0x80 Volume Up
- D 0x7F Mute
- F 0x6F F20
- Delete 0x53 Num Lock and Clear
-
-
-## Secret mode(On-On)
- Key Usage
- ------------------------
- Esc 0x66 Power
- Q 0x78 Stop
- W 0x7E Find
- E 0x74 Execute
- R 0x77 Select
- T 0x76 Menu
- Y 0x75 Help
- Z 0x7A Undo
- X 0x7B Cut
- C 0x7C Copy
- V 0x7D Paste
- B 0x79 Again
-
-
-## Matrix Key-Mode
-
-
- Mode
- -------------------------------
- Key HHK Lite Mac Secret Desc
- ---------------------------------------------------------------------------------------
- ⌘ / ◇ 0x78 - - - Stop
- Esc - - 0x66 0x66 Power
- A - - 0x81 - Volume Down
- S - - 0x80 - Volume Up
- D - - 0x7F - Mute
- F - - 0x6F - F20
- Delete 0x2A 0x2A 0x53 0x2A Num Lock and Clear(0x53)/Backspace(0x2A)
- Q - - - 0x78 Stop
- W - - - 0x7E Find
- E - - - 0x74 Execute
- R - - - 0x77 Select
- T - - - 0x76 Menu
- Y - - - 0x75 Help
- Z - - - 0x7A Undo
- X - - - 0x7B Cut
- C - - - 0x7C Copy
- V - - - 0x7D Paste
- B - - - 0x79 Again
-
-EOF
diff --git a/keyboard/hhkb/doc/Power.txt b/keyboard/hhkb/doc/Power.txt
deleted file mode 100644
index 1287053c3c..0000000000
--- a/keyboard/hhkb/doc/Power.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-HHKB Power consumption
-----------------------
-
-**Power consumption
- board clock/prescaler keyswitch power ctrl current
- --------------------------------------------------------------------------
- tmk 16MHz no no 26.4mA
- tmk 16MHz pro1 no 45.1mA
- tmk 16MHz/2 no no 18.1mA
- tmk 16MHz/2 pro1 no 37.3mA
- tmk 8MHz no no 18.9mA
- tmk 8MHz pro2 no(w/o FET) 32.1mA
- tmk 8MHz pro2 no(w FET) 32.1mA withou POWER_ON/FF
- tmk 8MHz pro2 no(w FET) 32.6mA with POWR_ON/OFF
- tmk 8MHz pro2 15ms(w FET) 21.3mA with POWR_ON/OFF, enumerated but error -32
- tmk 8MHz pro2 60ms(w FET) 13.3mA with POWR_ON/OFF, not enumerated
-
- gh60 16MHz 25.8mA
- gh60 16MHz USB suspend w LED breathing 17.6-29.1mA
- gh60 16MHz USB suspend w/o LED 0.2mA(0.231-0.276mA)
- Poker 5.6mA
- Poker USB suspend 0.3mA(0.301mA)
- gh60 16MHz stock firmware by komar 26.8mA
-
-
- HHKB pro2 Over All 139.4mA
- HHKB pro2 Controller 115.1mA
- HHKB pro1 Controller 25.9mA
-
-
-keyswitch power consumption:
-pro1: 45.1-26.4=18.7mA
- 37.3-18.1=19.2mA
-pro2: 32.1-18.9=13.2mA
-
-
-
-
-
-**Low Freq Crystal or Prescaler?
-No advantage of Low Freq Crystal against Prescaled.
-
-Clock routing
-X'tal --+---->Prescaler-------> System Clock
- |
- +---------------------> USB PLL
-
-Design Decision: Install 16MHz crystal on board with using clock rescaler.
diff --git a/keyboard/hhkb/doc/V-USB.md b/keyboard/hhkb/doc/V-USB.md
deleted file mode 100644
index 7ae86f452f..0000000000
--- a/keyboard/hhkb/doc/V-USB.md
+++ /dev/null
@@ -1,39 +0,0 @@
-V-USB controller for HHKB
-=========================
-Not supported actively any more.
-
-## Build
-Use `Makefile.vusb` for [V-USB] controller.
- $ make -f Makefile.vusb
-
-##Hardware
-###3. V-USB connection
- +---+ +---------------+
- USB GND | | ATmega328p |
- ~~~ C3 | |
- 5V <-------+--------+---|Vcc,AVCC | HHKB pro pro2
- R1 | | ~~~~~~~~ ~~~~
- D- <----+--+-----R2-----|INT1 PB2-4|------->ROW (6-8) (5-7)
- D+ <----|---+----R3-----|INT0 PC0-2|------->COL (9-11) (8-10)
- Z1 Z2 | PC3|------->ENABLE (12) (11)
- GND<----+---+-----------|GND PB0|<-------KEY (4) (3)
- | PB1|------->PREV (5) (4)
- | |
- GND+-C2--+--|XTAL1 RXD|------->Debug Console
- X1 | TXD|<-------Debug Console
- GND+-C3--+--|XTAL2 RST|---SW--+GND
- +---------------+
- R1: 1.5K Ohm
- R2,R3: 68 Ohm
- Z1,Z2: Zener 3.6V
- C1,C2: 22pF
- C3: 0.1uF
- X1: Crystal 12MHz
- SW: Push Switch(for bootloader)
-
-- NOTE: See [V-USB] documentation for more detail of hardware and the USB stack.
-- NOTE: [USBaspLoader] is very useful for firmware update.
-
-
-[V-USB]: http://www.obdev.at/products/vusb/index.html
-[USBaspLoader]: http://www.obdev.at/products/vusb/usbasploader.html