Comet46 add support for OLED (#4745)
* Add OLED support for Comet46 * fix length of char "name" of keylogger.c * update ssd1306 * fix rules.mk * update led-receiver keymap * Update OLED related code * add mod_state_reader & modify led_state_reader * Update OLED related files * Update kemaps * Update readme * change default-oled-display to default * Add OSM compatibility to mod_state_reader * Code formatting * Use PROGMEM to store code_to_name * Clean up satt keymap * Rename default-led keymap to defult-rgbled
This commit is contained in:
		
							parent
							
								
									c2390bf321
								
							
						
					
					
						commit
						46b4b4407f
					
				
					 24 changed files with 1918 additions and 342 deletions
				
			
		
							
								
								
									
										148
									
								
								keyboards/comet46/lib/glcdfont.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								keyboards/comet46/lib/glcdfont.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,148 @@
 | 
			
		|||
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
 | 
			
		||||
// See gfxfont.h for newer custom bitmap font info.
 | 
			
		||||
 | 
			
		||||
#ifndef FONT5X7_H
 | 
			
		||||
#define FONT5X7_H
 | 
			
		||||
 | 
			
		||||
#ifdef __AVR__
 | 
			
		||||
 #include <avr/io.h>
 | 
			
		||||
 #include <avr/pgmspace.h>
 | 
			
		||||
#elif defined(ESP8266)
 | 
			
		||||
 #include <pgmspace.h>
 | 
			
		||||
#else
 | 
			
		||||
 #define PROGMEM
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Standard ASCII 5x7 font
 | 
			
		||||
 | 
			
		||||
const unsigned char font[] PROGMEM = {
 | 
			
		||||
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
  0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
 | 
			
		||||
  0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
 | 
			
		||||
  0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
 | 
			
		||||
  0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
 | 
			
		||||
  0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
 | 
			
		||||
  0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
 | 
			
		||||
  0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
 | 
			
		||||
  0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
 | 
			
		||||
  0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
 | 
			
		||||
  0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
 | 
			
		||||
  0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
 | 
			
		||||
  0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
 | 
			
		||||
  0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
 | 
			
		||||
  0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
 | 
			
		||||
  0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
 | 
			
		||||
  0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
 | 
			
		||||
  0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
 | 
			
		||||
  0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
 | 
			
		||||
  0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
 | 
			
		||||
  0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
 | 
			
		||||
  0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
 | 
			
		||||
  0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
 | 
			
		||||
  0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
 | 
			
		||||
  0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
 | 
			
		||||
  0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
 | 
			
		||||
  0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
 | 
			
		||||
  0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
 | 
			
		||||
  0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
 | 
			
		||||
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
 | 
			
		||||
  0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
 | 
			
		||||
  0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
 | 
			
		||||
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
 | 
			
		||||
  0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
 | 
			
		||||
  0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
 | 
			
		||||
  0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
 | 
			
		||||
  0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
 | 
			
		||||
  0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
 | 
			
		||||
  0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
 | 
			
		||||
  0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
 | 
			
		||||
  0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
 | 
			
		||||
  0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
 | 
			
		||||
  0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
 | 
			
		||||
  0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
 | 
			
		||||
  0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
 | 
			
		||||
  0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
 | 
			
		||||
  0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
 | 
			
		||||
  0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
 | 
			
		||||
  0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
 | 
			
		||||
  0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
 | 
			
		||||
  0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
 | 
			
		||||
  0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
 | 
			
		||||
  0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
 | 
			
		||||
  0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
 | 
			
		||||
  0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
 | 
			
		||||
  0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
 | 
			
		||||
  0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
 | 
			
		||||
  0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
 | 
			
		||||
  0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
 | 
			
		||||
  0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
 | 
			
		||||
  0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
 | 
			
		||||
  0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
 | 
			
		||||
  0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
 | 
			
		||||
  0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
 | 
			
		||||
  0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
 | 
			
		||||
  0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
 | 
			
		||||
  0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
 | 
			
		||||
  0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
 | 
			
		||||
  0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
 | 
			
		||||
  0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
 | 
			
		||||
  0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
 | 
			
		||||
  0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
 | 
			
		||||
  0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
 | 
			
		||||
  0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
 | 
			
		||||
  0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
 | 
			
		||||
  0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
 | 
			
		||||
  0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
 | 
			
		||||
  0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
 | 
			
		||||
  0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
 | 
			
		||||
  0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
 | 
			
		||||
  0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
 | 
			
		||||
  0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
 | 
			
		||||
  0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
 | 
			
		||||
  0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
 | 
			
		||||
  0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
 | 
			
		||||
  0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
 | 
			
		||||
  0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
 | 
			
		||||
  0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
 | 
			
		||||
  0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
 | 
			
		||||
  0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
 | 
			
		||||
  0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
 | 
			
		||||
  0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
 | 
			
		||||
  0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
 | 
			
		||||
  0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
 | 
			
		||||
  0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
 | 
			
		||||
  0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
 | 
			
		||||
  0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
 | 
			
		||||
  0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00,
 | 
			
		||||
  0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
 | 
			
		||||
  0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
 | 
			
		||||
  0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
 | 
			
		||||
  0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
 | 
			
		||||
  0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
 | 
			
		||||
  0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
 | 
			
		||||
  0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
 | 
			
		||||
  0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
 | 
			
		||||
  0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
 | 
			
		||||
  0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
 | 
			
		||||
  0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
 | 
			
		||||
  0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
 | 
			
		||||
  0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
 | 
			
		||||
  0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
 | 
			
		||||
  0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
 | 
			
		||||
  0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
 | 
			
		||||
  0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
 | 
			
		||||
  0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
 | 
			
		||||
  0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
 | 
			
		||||
  0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
 | 
			
		||||
  0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
 | 
			
		||||
  0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00
 | 
			
		||||
};
 | 
			
		||||
#endif // FONT5X7_H
 | 
			
		||||
							
								
								
									
										15
									
								
								keyboards/comet46/lib/host_led_state_reader.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								keyboards/comet46/lib/host_led_state_reader.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
#include <stdio.h>
 | 
			
		||||
#include "comet46.h"
 | 
			
		||||
 | 
			
		||||
char host_led_state_str[22];
 | 
			
		||||
 | 
			
		||||
const char *read_host_led_state(void) {
 | 
			
		||||
  uint8_t leds = host_keyboard_leds();
 | 
			
		||||
 | 
			
		||||
  snprintf(host_led_state_str, sizeof(host_led_state_str), "Lock: %s%s%s",
 | 
			
		||||
           (leds & (1 << USB_LED_CAPS_LOCK)) ? "CAPL " : "",
 | 
			
		||||
           (leds & (1 << USB_LED_SCROLL_LOCK)) ? "SCRL " : "",
 | 
			
		||||
           (leds & (1 << USB_LED_NUM_LOCK)) ? "NUML" : "");
 | 
			
		||||
 | 
			
		||||
  return host_led_state_str;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										294
									
								
								keyboards/comet46/lib/keylogger.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										294
									
								
								keyboards/comet46/lib/keylogger.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,294 @@
 | 
			
		|||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __AVR__
 | 
			
		||||
 #include <avr/io.h>
 | 
			
		||||
 #include <avr/pgmspace.h>
 | 
			
		||||
#else
 | 
			
		||||
 #define PROGMEM
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define NUM_USB_HID_KEYCODES 255
 | 
			
		||||
#define LEN_KEYCODE_STR 4
 | 
			
		||||
 | 
			
		||||
char keylog[22] = {"KC:       ID: "};
 | 
			
		||||
 | 
			
		||||
// Quick and dirty way to display USB HID keycodes used in QMK
 | 
			
		||||
// USB HID keycodes from 0x0000 to 0x00FF are stored in a 4x256+1 length char
 | 
			
		||||
const char code_to_name[] PROGMEM = {
 | 
			
		||||
  "NO  " //0x00
 | 
			
		||||
  "TRNS"
 | 
			
		||||
  "?   "
 | 
			
		||||
  "?   "
 | 
			
		||||
  "A   "
 | 
			
		||||
  "B   "
 | 
			
		||||
  "C   "
 | 
			
		||||
  "D   "
 | 
			
		||||
  "E   "
 | 
			
		||||
  "F   "
 | 
			
		||||
  "G   "
 | 
			
		||||
  "H   "
 | 
			
		||||
  "I   "
 | 
			
		||||
  "J   "
 | 
			
		||||
  "K   "
 | 
			
		||||
  "L   "
 | 
			
		||||
  "M   " //0x10
 | 
			
		||||
  "N   "
 | 
			
		||||
  "O   "
 | 
			
		||||
  "P   "
 | 
			
		||||
  "Q   "
 | 
			
		||||
  "R   "
 | 
			
		||||
  "S   "
 | 
			
		||||
  "T   "
 | 
			
		||||
  "U   "
 | 
			
		||||
  "V   "
 | 
			
		||||
  "W   "
 | 
			
		||||
  "X   "
 | 
			
		||||
  "Y   "
 | 
			
		||||
  "Z   "
 | 
			
		||||
  "1   "
 | 
			
		||||
  "2   "
 | 
			
		||||
  "3   "  //0x20
 | 
			
		||||
  "4   "
 | 
			
		||||
  "5   "
 | 
			
		||||
  "6   "
 | 
			
		||||
  "7   "
 | 
			
		||||
  "8   "
 | 
			
		||||
  "9   "
 | 
			
		||||
  "0   "
 | 
			
		||||
  "ENT "
 | 
			
		||||
  "ESC "
 | 
			
		||||
  "BSPC"
 | 
			
		||||
  "TAB "
 | 
			
		||||
  "SPC "
 | 
			
		||||
  "MINS"
 | 
			
		||||
  "EQL "
 | 
			
		||||
  "LBRC"
 | 
			
		||||
  "RBRC" //0x30
 | 
			
		||||
  "BSLS"
 | 
			
		||||
  "NUHS"
 | 
			
		||||
  "SCLN"
 | 
			
		||||
  "QUOT"
 | 
			
		||||
  "GRV "
 | 
			
		||||
  "COMM"
 | 
			
		||||
  "DOT "
 | 
			
		||||
  "SLSH"
 | 
			
		||||
  "CAPS"
 | 
			
		||||
  "F1  "
 | 
			
		||||
  "F2  "
 | 
			
		||||
  "F3  "
 | 
			
		||||
  "F4  "
 | 
			
		||||
  "F5  "
 | 
			
		||||
  "F6  "
 | 
			
		||||
  "F7  " //0x40
 | 
			
		||||
  "F8  "
 | 
			
		||||
  "F9  "
 | 
			
		||||
  "F10 "
 | 
			
		||||
  "F11 "
 | 
			
		||||
  "F12 "
 | 
			
		||||
  "PSCR"
 | 
			
		||||
  "SLCK"
 | 
			
		||||
  "PAUS"
 | 
			
		||||
  "INS "
 | 
			
		||||
  "HOME"
 | 
			
		||||
  "PGUP"
 | 
			
		||||
  "DEL "
 | 
			
		||||
  "END "
 | 
			
		||||
  "PGDN"
 | 
			
		||||
  "RGHT"
 | 
			
		||||
  "LEFT" //0x50
 | 
			
		||||
  "DOWN"
 | 
			
		||||
  "UP  "
 | 
			
		||||
  "NLCK"
 | 
			
		||||
  "PSLS"
 | 
			
		||||
  "PAST"
 | 
			
		||||
  "PMNS"
 | 
			
		||||
  "PPLS"
 | 
			
		||||
  "PENT"
 | 
			
		||||
  "P1  "
 | 
			
		||||
  "P2  "
 | 
			
		||||
  "P3  "
 | 
			
		||||
  "P4  "
 | 
			
		||||
  "P5  "
 | 
			
		||||
  "P6  "
 | 
			
		||||
  "P7  "
 | 
			
		||||
  "P8  " //0x60
 | 
			
		||||
  "P9  "
 | 
			
		||||
  "P0  "
 | 
			
		||||
  "PDOT"
 | 
			
		||||
  "NUBS"
 | 
			
		||||
  "APP "
 | 
			
		||||
  "POW "
 | 
			
		||||
  "PEQL"
 | 
			
		||||
  "F13 "
 | 
			
		||||
  "F14 "
 | 
			
		||||
  "F15 "
 | 
			
		||||
  "F16 "
 | 
			
		||||
  "F17 "
 | 
			
		||||
  "F18 "
 | 
			
		||||
  "F19 "
 | 
			
		||||
  "F20 "
 | 
			
		||||
  "F21 " //0x70
 | 
			
		||||
  "F22 "
 | 
			
		||||
  "F23 "
 | 
			
		||||
  "F24 "
 | 
			
		||||
  "EXEC"
 | 
			
		||||
  "HELP"
 | 
			
		||||
  "MENU"
 | 
			
		||||
  "SLCT"
 | 
			
		||||
  "STOP"
 | 
			
		||||
  "AGIN"
 | 
			
		||||
  "UNDO"
 | 
			
		||||
  "CUT "
 | 
			
		||||
  "COPY"
 | 
			
		||||
  "PSTE"
 | 
			
		||||
  "FIND"
 | 
			
		||||
  "_MUT"
 | 
			
		||||
  "_VUP" //0x80
 | 
			
		||||
  "_VDN"
 | 
			
		||||
  "LCAP"
 | 
			
		||||
  "LNUM"
 | 
			
		||||
  "LSCR"
 | 
			
		||||
  "PCMM"
 | 
			
		||||
  "PEQA"
 | 
			
		||||
  "INT1"
 | 
			
		||||
  "INT2"
 | 
			
		||||
  "INT3"
 | 
			
		||||
  "INT4"
 | 
			
		||||
  "INT5"
 | 
			
		||||
  "INT6"
 | 
			
		||||
  "INT7"
 | 
			
		||||
  "INT8"
 | 
			
		||||
  "INT9"
 | 
			
		||||
  "LAN1" //0x90
 | 
			
		||||
  "LAN2"
 | 
			
		||||
  "LAN3"
 | 
			
		||||
  "LAN4"
 | 
			
		||||
  "LAN5"
 | 
			
		||||
  "LAN6"
 | 
			
		||||
  "LAN7"
 | 
			
		||||
  "LAN8"
 | 
			
		||||
  "LAN9"
 | 
			
		||||
  "ERAS"
 | 
			
		||||
  "SYSR"
 | 
			
		||||
  "CNCL"
 | 
			
		||||
  "CLR "
 | 
			
		||||
  "PRIR"
 | 
			
		||||
  "RTRN"
 | 
			
		||||
  "SEP "
 | 
			
		||||
  "OUT " //0xA0
 | 
			
		||||
  "OPER"
 | 
			
		||||
  "CLRA"
 | 
			
		||||
  "CSEL"
 | 
			
		||||
  "ESEL"
 | 
			
		||||
  "PWR " //0xA5
 | 
			
		||||
  "SLEP"
 | 
			
		||||
  "WAKE"
 | 
			
		||||
  "MUTE"
 | 
			
		||||
  "VOLU"
 | 
			
		||||
  "VOLD"
 | 
			
		||||
  "MNXT"
 | 
			
		||||
  "MPRV"
 | 
			
		||||
  "MSTP"
 | 
			
		||||
  "MPLY"
 | 
			
		||||
  "MSEL"
 | 
			
		||||
  "EJCT" //0xB0
 | 
			
		||||
  "MAIL"
 | 
			
		||||
  "CALC"
 | 
			
		||||
  "MYCM"
 | 
			
		||||
  "WSCH"
 | 
			
		||||
  "WHOM"
 | 
			
		||||
  "WBAK"
 | 
			
		||||
  "WFWD"
 | 
			
		||||
  "WSTP"
 | 
			
		||||
  "WREF"
 | 
			
		||||
  "WFAV"
 | 
			
		||||
  "MFFD"
 | 
			
		||||
  "MRWD"
 | 
			
		||||
  "BRIU"
 | 
			
		||||
  "BRID"
 | 
			
		||||
  "?   "
 | 
			
		||||
  "FN0 " //0xC0
 | 
			
		||||
  "FN1 "
 | 
			
		||||
  "FN2 "
 | 
			
		||||
  "FN3 "
 | 
			
		||||
  "FN4 "
 | 
			
		||||
  "FN5 "
 | 
			
		||||
  "FN6 "
 | 
			
		||||
  "FN7 "
 | 
			
		||||
  "FN8 "
 | 
			
		||||
  "FN9 "
 | 
			
		||||
  "FN10"
 | 
			
		||||
  "FN11"
 | 
			
		||||
  "FN12"
 | 
			
		||||
  "FN13"
 | 
			
		||||
  "FN14"
 | 
			
		||||
  "FN15"
 | 
			
		||||
  "FN16" //0xD0
 | 
			
		||||
  "FN17"
 | 
			
		||||
  "FN18"
 | 
			
		||||
  "FN19"
 | 
			
		||||
  "FN20"
 | 
			
		||||
  "FN21"
 | 
			
		||||
  "FN22"
 | 
			
		||||
  "FN23"
 | 
			
		||||
  "FN24"
 | 
			
		||||
  "FN25"
 | 
			
		||||
  "FN26"
 | 
			
		||||
  "FN27"
 | 
			
		||||
  "FN28"
 | 
			
		||||
  "FN29"
 | 
			
		||||
  "FN30"
 | 
			
		||||
  "FN31"
 | 
			
		||||
  "LCTL" //0xE0
 | 
			
		||||
  "LSFT"
 | 
			
		||||
  "LALT"
 | 
			
		||||
  "LGUI"
 | 
			
		||||
  "RCTL"
 | 
			
		||||
  "RSFT"
 | 
			
		||||
  "RALT"
 | 
			
		||||
  "RGUI"
 | 
			
		||||
  "?   "
 | 
			
		||||
  "?   "
 | 
			
		||||
  "?   "
 | 
			
		||||
  "?   "
 | 
			
		||||
  "?   "
 | 
			
		||||
  "?   "
 | 
			
		||||
  "?   "
 | 
			
		||||
  "?   "
 | 
			
		||||
  "MS_U" //0xF0
 | 
			
		||||
  "MS_D"
 | 
			
		||||
  "MS_L"
 | 
			
		||||
  "MS_R"
 | 
			
		||||
  "BTN1"
 | 
			
		||||
  "BTN2"
 | 
			
		||||
  "BTN3"
 | 
			
		||||
  "BTN4"
 | 
			
		||||
  "BTN5"
 | 
			
		||||
  "WH_U"
 | 
			
		||||
  "WH_D"
 | 
			
		||||
  "WH_L"
 | 
			
		||||
  "WH_R"
 | 
			
		||||
  "ACL0"
 | 
			
		||||
  "ACL1"
 | 
			
		||||
  "ACL2"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void set_keylog(uint16_t keycode)
 | 
			
		||||
{
 | 
			
		||||
  char name[LEN_KEYCODE_STR+1] = "?   ";
 | 
			
		||||
 | 
			
		||||
  if (keycode <= NUM_USB_HID_KEYCODES) {
 | 
			
		||||
    for (uint8_t k = 0; k < LEN_KEYCODE_STR; k++) {
 | 
			
		||||
      name[k] =  pgm_read_byte_near(code_to_name + keycode * LEN_KEYCODE_STR + k);
 | 
			
		||||
    }
 | 
			
		||||
  } else if (keycode > NUM_USB_HID_KEYCODES) {
 | 
			
		||||
    snprintf(name, sizeof(name), "QMK ");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // update keylog
 | 
			
		||||
  snprintf(keylog, sizeof(keylog), "KC: %s  ID: %d", name, keycode);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char *read_keylog(void) {
 | 
			
		||||
  return keylog;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								keyboards/comet46/lib/modifier_state_reader.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								keyboards/comet46/lib/modifier_state_reader.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
#include <stdio.h>
 | 
			
		||||
#include "comet46.h"
 | 
			
		||||
 | 
			
		||||
char modifier_state_str[22];
 | 
			
		||||
 | 
			
		||||
const char *read_modifier_state(void) {
 | 
			
		||||
  uint8_t modifiers = get_mods();
 | 
			
		||||
  uint8_t one_shot = get_oneshot_mods();
 | 
			
		||||
  
 | 
			
		||||
  snprintf(modifier_state_str, sizeof(modifier_state_str), "Mod: %s%s%s%s",
 | 
			
		||||
    (modifiers & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) ? "CTL " : "",
 | 
			
		||||
    (modifiers & MODS_GUI_MASK || one_shot & MODS_GUI_MASK) ? "GUI " : "",
 | 
			
		||||
    (modifiers & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) ? "ALT " : "",
 | 
			
		||||
    (modifiers & MODS_SHIFT_MASK || one_shot & MODS_SHIFT_MASK) ? "SFT" : ""
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  return modifier_state_str;
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue