]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
pc98_usb: LED control code is disabled by default
authortmk <hasu@tmk-kbd.com>
Sat, 2 Jun 2018 10:52:50 +0000 (19:52 +0900)
committertmk <hasu@tmk-kbd.com>
Sat, 2 Jun 2018 11:37:17 +0000 (20:37 +0900)
converter/pc98_usb/Makefile
converter/pc98_usb/config.h
converter/pc98_usb/led.c [deleted file]
converter/pc98_usb/matrix.c

index 9892276d7fb56df3b5c93b62737c4375acd58c56..ae6511cdc6602ce08d13b035d6640dff98d08009 100644 (file)
@@ -10,7 +10,6 @@ TARGET_DIR = .
 # keyboard dependent files
 SRC =  keymap.c \
        matrix.c \
-       led.c \
        protocol/serial_uart.c
 #      protocol/serial_soft.c
 
index b8d676e4cfacae5d5435fcedfe93005e94d37b50..16a54ca5092b30ae1141853889506dc5e99f27fe 100644 (file)
@@ -36,6 +36,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 )
 
 
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* Control LED indicatiors, which doesn't work well with locking support */
+//#define PC98_LED_CONTROL
+
+
 /* PC98 Reset Port shared with TXD */
 #define PC98_RST_DDR    DDRD
 #define PC98_RST_PORT   PORTD
diff --git a/converter/pc98_usb/led.c b/converter/pc98_usb/led.c
deleted file mode 100644 (file)
index 48c3f1c..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "stdint.h"
-#include "serial.h"
-#include "led.h"
-
-
-void led_set(uint8_t usb_led)
-{
-    uint8_t sun_led = 0;
-    if (usb_led & (1<<USB_LED_NUM_LOCK))    sun_led |= (1<<0);
-    if (usb_led & (1<<USB_LED_COMPOSE))     sun_led |= (1<<1);
-    if (usb_led & (1<<USB_LED_SCROLL_LOCK)) sun_led |= (1<<2);
-    if (usb_led & (1<<USB_LED_CAPS_LOCK))   sun_led |= (1<<3);
-
-    serial_send(0x0E);
-    serial_send(sun_led);
-}
index 19cfb0c0845556d66958d6c02c1672fd0db4712a..c6b6253aac3c3851ac30e464a8aa5096429d6b8a 100644 (file)
@@ -155,3 +155,18 @@ uint8_t matrix_get_row(uint8_t row)
 {
     return matrix[row];
 }
+
+void led_set(uint8_t usb_led)
+{
+#ifdef PC98_LED_CONTROL
+    uint8_t led_state = 0x70;
+    if (usb_led & (1<<USB_LED_NUM_LOCK))    led_state |= (1<<0);
+    if (usb_led & (1<<USB_LED_CAPS_LOCK))   led_state |= (1<<2);
+    xprintf("led_set: %02X\n", led_state);
+
+    pc98_send(0x9D);
+    _delay_ms(100);
+    pc98_send(led_state);
+    // responses(FA or FC) will be ignored in matrix_scan()
+#endif
+}