Files
firmware/src/input/kbI2cBase.h

28 lines
562 B
C
Raw Normal View History

#pragma once
#include "BBQ10Keyboard.h"
#include "InputBroker.h"
#include "MPR121Keyboard.h"
TCA8418 initial config + basic 3x4 keypad config (#6320) * add TCA8418 to configuration.h added the TCA8418 * add TCA8418 to ScanI2C.cpp add TCA8418 * add TCA8418KB to ScanI2C.h add TCA8418KB * add TCA8418KB ScanI2CTwoWire.cpp add TCA8418KB * Create TCA8418Keyboard.cpp Create TCA8418Keyboard.cpp * Create TCA8418Keyboard.h Create TCA8418Keyboard.h * add TCA8418 to kbI2cBase.cpp add TCA8418 * add TCA8418 to kbI2cBase.h add TCA8418 * add TCA8418KB to main.cpp add TCA8418KB * add TCA8418KB to cardKbI2cImpl.cpp add TCA8418KB * Update TCA8418 kbI2cBase.cpp * enable debug TCA8418 * Nokia 5130 config * Update TCA8418Keyboard.h old version in initial commit * Update ScanI2CTwoWire.cpp * add tap_interval and backlight_on to constructor * Create TCA8418-layouts.cpp TCA8418-layout 3x4 should work Nokia 5130 needs editing. * put layouts in different file + adjusted code for variable matrix sizes * rename TCA8418-layouts.cpp to TCA8418Layouts.cpp + add endif * Update TCA8418Keyboard.cpp name change layouts * forgot a \ * Create TCA8418Layouts.h * Update TCA8418Keyboard.cpp * add include forgot include * Update TCA8418Keyboard.cpp * Update TCA8418Keyboard.h * Update TCA8418Layouts.h * revert to keyboard layout in main TCA8418Keyboard.cpp * fixed the address * changed ordering of constructor * reflect changes #6371 * edit config.h * bug fix fast pressing multiple buttons + clean up scanI2CTwoWire.cpp * trunked --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: Tom Fifield <tom@tomfifield.net>
2025-03-26 02:29:18 +00:00
#include "TCA8418Keyboard.h"
#include "Wire.h"
2023-03-11 22:48:08 +01:00
#include "concurrency/OSThread.h"
2023-01-21 14:34:29 +01:00
class KbI2cBase : public Observable<const InputEvent *>, public concurrency::OSThread
{
public:
explicit KbI2cBase(const char *name);
protected:
virtual int32_t runOnce() override;
private:
const char *_originName;
TwoWire *i2cBus = 0;
BBQ10Keyboard Q10keyboard;
MPR121Keyboard MPRkeyboard;
TCA8418 initial config + basic 3x4 keypad config (#6320) * add TCA8418 to configuration.h added the TCA8418 * add TCA8418 to ScanI2C.cpp add TCA8418 * add TCA8418KB to ScanI2C.h add TCA8418KB * add TCA8418KB ScanI2CTwoWire.cpp add TCA8418KB * Create TCA8418Keyboard.cpp Create TCA8418Keyboard.cpp * Create TCA8418Keyboard.h Create TCA8418Keyboard.h * add TCA8418 to kbI2cBase.cpp add TCA8418 * add TCA8418 to kbI2cBase.h add TCA8418 * add TCA8418KB to main.cpp add TCA8418KB * add TCA8418KB to cardKbI2cImpl.cpp add TCA8418KB * Update TCA8418 kbI2cBase.cpp * enable debug TCA8418 * Nokia 5130 config * Update TCA8418Keyboard.h old version in initial commit * Update ScanI2CTwoWire.cpp * add tap_interval and backlight_on to constructor * Create TCA8418-layouts.cpp TCA8418-layout 3x4 should work Nokia 5130 needs editing. * put layouts in different file + adjusted code for variable matrix sizes * rename TCA8418-layouts.cpp to TCA8418Layouts.cpp + add endif * Update TCA8418Keyboard.cpp name change layouts * forgot a \ * Create TCA8418Layouts.h * Update TCA8418Keyboard.cpp * add include forgot include * Update TCA8418Keyboard.cpp * Update TCA8418Keyboard.h * Update TCA8418Layouts.h * revert to keyboard layout in main TCA8418Keyboard.cpp * fixed the address * changed ordering of constructor * reflect changes #6371 * edit config.h * bug fix fast pressing multiple buttons + clean up scanI2CTwoWire.cpp * trunked --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: Tom Fifield <tom@tomfifield.net>
2025-03-26 02:29:18 +00:00
TCA8418Keyboard TCAKeyboard;
2023-08-22 11:23:19 +02:00
bool is_sym = false;
TCA8418 initial config + basic 3x4 keypad config (#6320) * add TCA8418 to configuration.h added the TCA8418 * add TCA8418 to ScanI2C.cpp add TCA8418 * add TCA8418KB to ScanI2C.h add TCA8418KB * add TCA8418KB ScanI2CTwoWire.cpp add TCA8418KB * Create TCA8418Keyboard.cpp Create TCA8418Keyboard.cpp * Create TCA8418Keyboard.h Create TCA8418Keyboard.h * add TCA8418 to kbI2cBase.cpp add TCA8418 * add TCA8418 to kbI2cBase.h add TCA8418 * add TCA8418KB to main.cpp add TCA8418KB * add TCA8418KB to cardKbI2cImpl.cpp add TCA8418KB * Update TCA8418 kbI2cBase.cpp * enable debug TCA8418 * Nokia 5130 config * Update TCA8418Keyboard.h old version in initial commit * Update ScanI2CTwoWire.cpp * add tap_interval and backlight_on to constructor * Create TCA8418-layouts.cpp TCA8418-layout 3x4 should work Nokia 5130 needs editing. * put layouts in different file + adjusted code for variable matrix sizes * rename TCA8418-layouts.cpp to TCA8418Layouts.cpp + add endif * Update TCA8418Keyboard.cpp name change layouts * forgot a \ * Create TCA8418Layouts.h * Update TCA8418Keyboard.cpp * add include forgot include * Update TCA8418Keyboard.cpp * Update TCA8418Keyboard.h * Update TCA8418Layouts.h * revert to keyboard layout in main TCA8418Keyboard.cpp * fixed the address * changed ordering of constructor * reflect changes #6371 * edit config.h * bug fix fast pressing multiple buttons + clean up scanI2CTwoWire.cpp * trunked --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: Tom Fifield <tom@tomfifield.net>
2025-03-26 02:29:18 +00:00
};