diff options
| author | fauxpark <fauxpark@gmail.com> | 2019-11-13 19:38:37 +1100 |
|---|---|---|
| committer | James Young <18669334+noroadsleft@users.noreply.github.com> | 2019-11-13 00:38:37 -0800 |
| commit | 9dc5432a3e16ca4ee42d84cacbcfa7aeee97d2f9 (patch) | |
| tree | 9097e9b37c73b5f95f452d3e5886ab2b101ae047 | |
| parent | 7e8f239c2e15091bca82f69c3982e585814c0f70 (diff) | |
| download | qmk_firmware-9dc5432a3e16ca4ee42d84cacbcfa7aeee97d2f9.tar.gz qmk_firmware-9dc5432a3e16ca4ee42d84cacbcfa7aeee97d2f9.zip | |
[Keyboard] XT converter: add config_common.h include and fix E0 collision (#7341)
| -rw-r--r-- | keyboards/converter/xt_usb/config.h | 2 | ||||
| -rw-r--r-- | keyboards/converter/xt_usb/matrix.c | 42 |
2 files changed, 23 insertions, 21 deletions
diff --git a/keyboards/converter/xt_usb/config.h b/keyboards/converter/xt_usb/config.h index ecebc123f..fe7995387 100644 --- a/keyboards/converter/xt_usb/config.h +++ b/keyboards/converter/xt_usb/config.h | |||
| @@ -17,6 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 17 | 17 | ||
| 18 | #pragma once | 18 | #pragma once |
| 19 | 19 | ||
| 20 | #include "config_common.h" | ||
| 21 | |||
| 20 | #define VENDOR_ID 0xFEED | 22 | #define VENDOR_ID 0xFEED |
| 21 | #define PRODUCT_ID 0x6512 | 23 | #define PRODUCT_ID 0x6512 |
| 22 | #define DEVICE_VER 0x0001 | 24 | #define DEVICE_VER 0x0001 |
diff --git a/keyboards/converter/xt_usb/matrix.c b/keyboards/converter/xt_usb/matrix.c index e2d7117b1..d48f1a887 100644 --- a/keyboards/converter/xt_usb/matrix.c +++ b/keyboards/converter/xt_usb/matrix.c | |||
| @@ -99,25 +99,25 @@ static uint8_t move_e0code(uint8_t code) { | |||
| 99 | uint8_t matrix_scan(void) | 99 | uint8_t matrix_scan(void) |
| 100 | { | 100 | { |
| 101 | static enum { | 101 | static enum { |
| 102 | INIT, | 102 | XT_STATE_INIT, |
| 103 | E0, | 103 | XT_STATE_E0, |
| 104 | // Pause: E1 1D 45, E1 9D C5 | 104 | // Pause: E1 1D 45, E1 9D C5 |
| 105 | E1, | 105 | XT_STATE_E1, |
| 106 | E1_1D, | 106 | XT_STATE_E1_1D, |
| 107 | E1_9D, | 107 | XT_STATE_E1_9D, |
| 108 | } state = INIT; | 108 | } state = XT_STATE_INIT; |
| 109 | 109 | ||
| 110 | uint8_t code = xt_host_recv(); | 110 | uint8_t code = xt_host_recv(); |
| 111 | if (!code) return 0; | 111 | if (!code) return 0; |
| 112 | xprintf("%02X ", code); | 112 | xprintf("%02X ", code); |
| 113 | switch (state) { | 113 | switch (state) { |
| 114 | case INIT: | 114 | case XT_STATE_INIT: |
| 115 | switch (code) { | 115 | switch (code) { |
| 116 | case 0xE0: | 116 | case 0xE0: |
| 117 | state = E0; | 117 | state = XT_STATE_E0; |
| 118 | break; | 118 | break; |
| 119 | case 0xE1: | 119 | case 0xE1: |
| 120 | state = E1; | 120 | state = XT_STATE_E1; |
| 121 | break; | 121 | break; |
| 122 | default: | 122 | default: |
| 123 | if (code < 0x80) | 123 | if (code < 0x80) |
| @@ -127,59 +127,59 @@ uint8_t matrix_scan(void) | |||
| 127 | break; | 127 | break; |
| 128 | } | 128 | } |
| 129 | break; | 129 | break; |
| 130 | case E0: | 130 | case XT_STATE_E0: |
| 131 | switch (code) { | 131 | switch (code) { |
| 132 | case 0x2A: | 132 | case 0x2A: |
| 133 | case 0xAA: | 133 | case 0xAA: |
| 134 | case 0x36: | 134 | case 0x36: |
| 135 | case 0xB6: | 135 | case 0xB6: |
| 136 | //ignore fake shift | 136 | //ignore fake shift |
| 137 | state = INIT; | 137 | state = XT_STATE_INIT; |
| 138 | break; | 138 | break; |
| 139 | default: | 139 | default: |
| 140 | if (code < 0x80) | 140 | if (code < 0x80) |
| 141 | matrix_make(move_e0code(code)); | 141 | matrix_make(move_e0code(code)); |
| 142 | else | 142 | else |
| 143 | matrix_break(move_e0code(code & 0x7F)); | 143 | matrix_break(move_e0code(code & 0x7F)); |
| 144 | state = INIT; | 144 | state = XT_STATE_INIT; |
| 145 | break; | 145 | break; |
| 146 | } | 146 | } |
| 147 | break; | 147 | break; |
| 148 | case E1: | 148 | case XT_STATE_E1: |
| 149 | switch (code) { | 149 | switch (code) { |
| 150 | case 0x1D: | 150 | case 0x1D: |
| 151 | state = E1_1D; | 151 | state = XT_STATE_E1_1D; |
| 152 | break; | 152 | break; |
| 153 | case 0x9D: | 153 | case 0x9D: |
| 154 | state = E1_9D; | 154 | state = XT_STATE_E1_9D; |
| 155 | break; | 155 | break; |
| 156 | default: | 156 | default: |
| 157 | state = INIT; | 157 | state = XT_STATE_INIT; |
| 158 | break; | 158 | break; |
| 159 | } | 159 | } |
| 160 | break; | 160 | break; |
| 161 | case E1_1D: | 161 | case XT_STATE_E1_1D: |
| 162 | switch (code) { | 162 | switch (code) { |
| 163 | case 0x45: | 163 | case 0x45: |
| 164 | matrix_make(0x55); | 164 | matrix_make(0x55); |
| 165 | break; | 165 | break; |
| 166 | default: | 166 | default: |
| 167 | state = INIT; | 167 | state = XT_STATE_INIT; |
| 168 | break; | 168 | break; |
| 169 | } | 169 | } |
| 170 | break; | 170 | break; |
| 171 | case E1_9D: | 171 | case XT_STATE_E1_9D: |
| 172 | switch (code) { | 172 | switch (code) { |
| 173 | case 0x45: | 173 | case 0x45: |
| 174 | matrix_break(0x55); | 174 | matrix_break(0x55); |
| 175 | break; | 175 | break; |
| 176 | default: | 176 | default: |
| 177 | state = INIT; | 177 | state = XT_STATE_INIT; |
| 178 | break; | 178 | break; |
| 179 | } | 179 | } |
| 180 | break; | 180 | break; |
| 181 | default: | 181 | default: |
| 182 | state = INIT; | 182 | state = XT_STATE_INIT; |
| 183 | } | 183 | } |
| 184 | matrix_scan_quantum(); | 184 | matrix_scan_quantum(); |
| 185 | return 1; | 185 | return 1; |
