From 21ff75715b710f0fca6fa21dde028280d0d2d9ef Mon Sep 17 00:00:00 2001 From: tmk Date: Mon, 27 Nov 2023 15:02:14 +0900 Subject: [PATCH] Add nokeyboard project --- keyboard/nokeyboard/Makefile | 47 ++++++++++++++++++++++++++++++ keyboard/nokeyboard/README.md | 5 ++++ keyboard/nokeyboard/config.h | 50 ++++++++++++++++++++++++++++++++ keyboard/nokeyboard/nokeyboard.c | 11 +++++++ 4 files changed, 113 insertions(+) create mode 100644 keyboard/nokeyboard/Makefile create mode 100644 keyboard/nokeyboard/README.md create mode 100644 keyboard/nokeyboard/config.h create mode 100644 keyboard/nokeyboard/nokeyboard.c diff --git a/keyboard/nokeyboard/Makefile b/keyboard/nokeyboard/Makefile new file mode 100644 index 00000000..f2d543b0 --- /dev/null +++ b/keyboard/nokeyboard/Makefile @@ -0,0 +1,47 @@ +TARGET ?= nokeyboard +TMK_DIR ?= ../../tmk_core +TARGET_DIR ?= . + +SRC ?= $(TARGET).c +CONFIG_H ?= config.h + +# MCU name +MCU ?= atmega32u4 +#MCU ?= atmega32u2 + +# Processor frequency. +F_CPU ?= 16000000 + +# +# LUFA specific +# +ARCH ?= AVR8 +F_USB ?= $(F_CPU) + +# Interrupt driven control endpoint task +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + +# +# Build Options +# +MOUSEKEY_ENABLE ?= no # Mouse keys +EXTRAKEY_ENABLE ?= no # Media control and System control +CONSOLE_ENABLE ?= yes # Console for debug +COMMAND_ENABLE ?= no # Commands for debug and configuration +NKRO_ENABLE ?= no # USB Nkey Rollover +NO_KEYBOARD ?= yes # No keyboard interface +NO_DEBUG ?= yes + +# Boot Section Size in bytes +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + +#OPT_DEFS += -DNO_DEBUG + + +# Search Path +VPATH += $(TARGET_DIR) +VPATH += $(TMK_DIR) + +include $(TMK_DIR)/protocol/lufa.mk +include $(TMK_DIR)/common.mk +include $(TMK_DIR)/rules.mk diff --git a/keyboard/nokeyboard/README.md b/keyboard/nokeyboard/README.md new file mode 100644 index 00000000..e508dfb9 --- /dev/null +++ b/keyboard/nokeyboard/README.md @@ -0,0 +1,5 @@ +nokeyboard +========== +This is a template for small project without keyboard function. + +You can use `xprintf()` to display messages on [`hid_listen`](https://github.com/tmk/tmk_keyboard/wiki#hid_listen) console for debug. diff --git a/keyboard/nokeyboard/config.h b/keyboard/nokeyboard/config.h new file mode 100644 index 00000000..984571af --- /dev/null +++ b/keyboard/nokeyboard/config.h @@ -0,0 +1,50 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xEEEE +#define DEVICE_VER 0x0000 +#define MANUFACTURER TMK +#define PRODUCT nokeyboard +#define DESCRIPTION Product from TMK keyboard firmware project + + +/* matrix size */ +#define MATRIX_ROWS 0 +#define MATRIX_COLS 0 + +/* key combination for command */ +#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) + + +// Disable power saving in USB suspend loop but remote wakeup is still valid. +// This allows keep USB::Task() going during suspend without power down time delay. +//#define NO_SUSPEND_POWER_DOWN + + +// Disable USB startup wait, which can delays starting UHS2 Task() for 350-600ms. +//#define NO_USB_STARTUP_WAIT_LOOP + +// Disable USB suspend loop, which blocks UHS2 Task() while power saving. +// Note that this also disables power saving and remote wakeup from keyboard completely. +//#define NO_USB_SUSPEND_LOOP + +#endif diff --git a/keyboard/nokeyboard/nokeyboard.c b/keyboard/nokeyboard/nokeyboard.c new file mode 100644 index 00000000..bc3bb6b5 --- /dev/null +++ b/keyboard/nokeyboard/nokeyboard.c @@ -0,0 +1,11 @@ +#include "hook.h" +#include "print.h" +#include "timer.h" + +void hook_main_loop(void) +{ + static uint16_t last_time = 0; + uint16_t t = timer_read(); + if (t != last_time && (t % 1000) == 0) xprintf("."); + last_time = t; +}