mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 13:22:31 +01:00 
			
		
		
		
	some major steps toward making the usb-usb converter work
This commit is contained in:
		
							parent
							
								
									42f895a4bc
								
							
						
					
					
						commit
						2aa5e44640
					
				| @ -31,6 +31,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define MATRIX_ROWS 16 | #define MATRIX_ROWS 16 | ||||||
| #define MATRIX_COLS 16 | #define MATRIX_COLS 16 | ||||||
| 
 | 
 | ||||||
|  | #define DIODE_DIRECTION CUSTOM_MATRIX | ||||||
|  | 
 | ||||||
| /* key combination for command */ | /* key combination for command */ | ||||||
| #define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))  | #define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))  | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -27,7 +27,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #include "usb_usb.h" | #include "usb_usb.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = { | const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = { | ||||||
|     /* 0: plain Qwerty without layer switching
 |     /* 0: plain Qwerty without layer switching
 | ||||||
|      *         ,---------------. ,---------------. ,---------------. |      *         ,---------------. ,---------------. ,---------------. | ||||||
|      *         |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24| |      *         |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24| | ||||||
|  | |||||||
| @ -146,7 +146,7 @@ SRC = matrix.cpp | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # include $(TMK_DIR)/protocol/usb_hid.mk
 | include $(TMK_DIR)/protocol/usb_hid.mk | ||||||
| # include $(TMK_DIR)/protocol/lufa.mk
 | # include $(TMK_DIR)/protocol/lufa.mk
 | ||||||
| # include $(TMK_DIR)/common.mk
 | # include $(TMK_DIR)/common.mk
 | ||||||
| # include $(TMK_DIR)/rules.mk
 | # include $(TMK_DIR)/rules.mk
 | ||||||
|  | |||||||
| @ -94,6 +94,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define KC_JYEN KC_INT3 | #define KC_JYEN KC_INT3 | ||||||
| #define KC_HENK KC_INT4 | #define KC_HENK KC_INT4 | ||||||
| #define KC_MHEN KC_INT5 | #define KC_MHEN KC_INT5 | ||||||
|  | /* Korean specific */ | ||||||
|  | #define KC_HAEN KC_LANG1 | ||||||
|  | #define KC_HANJ KC_LANG2 | ||||||
| /* Keypad */ | /* Keypad */ | ||||||
| #define KC_P1   KC_KP_1 | #define KC_P1   KC_KP_1 | ||||||
| #define KC_P2   KC_KP_2 | #define KC_P2   KC_KP_2 | ||||||
| @ -113,6 +116,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define KC_PPLS KC_KP_PLUS | #define KC_PPLS KC_KP_PLUS | ||||||
| #define KC_PEQL KC_KP_EQUAL | #define KC_PEQL KC_KP_EQUAL | ||||||
| #define KC_PENT KC_KP_ENTER | #define KC_PENT KC_KP_ENTER | ||||||
|  | /* Unix function key */ | ||||||
|  | #define KC_EXEC KC_EXECUTE | ||||||
|  | #define KC_SLCT KC_SELECT | ||||||
|  | #define KC_AGIN KC_AGAIN | ||||||
|  | #define KC_PSTE KC_PASTE | ||||||
| /* Mousekey */ | /* Mousekey */ | ||||||
| #define KC_MS_U KC_MS_UP | #define KC_MS_U KC_MS_UP | ||||||
| #define KC_MS_D KC_MS_DOWN | #define KC_MS_D KC_MS_DOWN | ||||||
|  | |||||||
| @ -4,30 +4,14 @@ | |||||||
| #include "debug.h" | #include "debug.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| report_keyboard_t usb_hid_keyboard_report; |  | ||||||
| uint16_t usb_hid_time_stamp; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| void KBDReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) | void KBDReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) | ||||||
| { | { | ||||||
|     bool is_error = false; |     ::memcpy(&report, buf, sizeof(report_keyboard_t)); | ||||||
|     report_keyboard_t *report = (report_keyboard_t *)buf; |     time_stamp = millis(); | ||||||
| 
 | 
 | ||||||
|     dprintf("KBDReport: %02X %02X", report->mods, report->reserved); |     dprintf("input %d:  %02X %02X", hid->GetAddress(), report.mods, report.reserved); | ||||||
|     for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { |     for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { | ||||||
|         if (IS_ERROR(report->keys[i])) { |         dprintf(" %02X", report.keys[i]); | ||||||
|             is_error = true; |  | ||||||
|         } |  | ||||||
|         dprintf(" %02X", report->keys[i]); |  | ||||||
|     } |     } | ||||||
|     dprint("\r\n"); |     dprint("\r\n"); | ||||||
| 
 |  | ||||||
|     // ignore error and not send report to computer
 |  | ||||||
|     if (is_error) { |  | ||||||
|         dprint("Error usage! \r\n"); |  | ||||||
|         return; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     ::memcpy(&usb_hid_keyboard_report, buf, sizeof(report_keyboard_t)); |  | ||||||
|     usb_hid_time_stamp = millis(); |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,10 +2,13 @@ | |||||||
| #define PARSER_H | #define PARSER_H | ||||||
| 
 | 
 | ||||||
| #include "hid.h" | #include "hid.h" | ||||||
|  | #include "report.h" | ||||||
| 
 | 
 | ||||||
| class KBDReportParser : public HIDReportParser | class KBDReportParser : public HIDReportParser | ||||||
| { | { | ||||||
| public: | public: | ||||||
|  |     report_keyboard_t report; | ||||||
|  |     uint16_t time_stamp; | ||||||
|     virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf); |     virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,4 +1,42 @@ | |||||||
| 
 | #----------------------------------------------------------------------------
 | ||||||
|  | # On command line:
 | ||||||
|  | #
 | ||||||
|  | # make all = Make software.
 | ||||||
|  | #
 | ||||||
|  | # make clean = Clean out built project files.
 | ||||||
|  | #
 | ||||||
|  | # make coff = Convert ELF to AVR COFF.
 | ||||||
|  | #
 | ||||||
|  | # make extcoff = Convert ELF to AVR Extended COFF.
 | ||||||
|  | #
 | ||||||
|  | # make program = Download the hex file to the device.
 | ||||||
|  | #                Please customize your programmer settings(PROGRAM_CMD)
 | ||||||
|  | #
 | ||||||
|  | # make teensy = Download the hex file to the device, using teensy_loader_cli.
 | ||||||
|  | #               (must have teensy_loader_cli installed).
 | ||||||
|  | #
 | ||||||
|  | # make dfu = Download the hex file to the device, using dfu-programmer (must
 | ||||||
|  | #            have dfu-programmer installed).
 | ||||||
|  | #
 | ||||||
|  | # make flip = Download the hex file to the device, using Atmel FLIP (must
 | ||||||
|  | #             have Atmel FLIP installed).
 | ||||||
|  | #
 | ||||||
|  | # make dfu-ee = Download the eeprom file to the device, using dfu-programmer
 | ||||||
|  | #               (must have dfu-programmer installed).
 | ||||||
|  | #
 | ||||||
|  | # make flip-ee = Download the eeprom file to the device, using Atmel FLIP
 | ||||||
|  | #                (must have Atmel FLIP installed).
 | ||||||
|  | #
 | ||||||
|  | # make debug = Start either simulavr or avarice as specified for debugging, 
 | ||||||
|  | #              with avr-gdb or avr-insight as the front end for debugging.
 | ||||||
|  | #
 | ||||||
|  | # make filename.s = Just compile filename.c into the assembler code only.
 | ||||||
|  | #
 | ||||||
|  | # make filename.i = Create a preprocessed source file for use in submitting
 | ||||||
|  | #                   bug reports to the GCC project.
 | ||||||
|  | #
 | ||||||
|  | # To rebuild project do "make clean" then "make all".
 | ||||||
|  | #----------------------------------------------------------------------------
 | ||||||
| 
 | 
 | ||||||
| # Target file name (without extension).
 | # Target file name (without extension).
 | ||||||
| TARGET = usb_hid_test | TARGET = usb_hid_test | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Balz Guenat
						Balz Guenat