In my WIP AutoShift plugin, I have a line that reads:
hid::pressKey(LSHIFT(mapped_key));
While the compiled code works, I get a very verbose warning:
In file included from /Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/hardware/keyboardio/avr/libraries/Kaleidoscope/src/kaleidoscope/key_events.h:21:0,
from /Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/hardware/keyboardio/avr/libraries/Kaleidoscope/src/kaleidoscope/Kaleidoscope.h:47,
from /Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/hardware/keyboardio/avr/libraries/Kaleidoscope/src/Kaleidoscope.h:19,
from /Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/plugins/Kaleidoscope-AutoShift/src/Kaleidoscope/AutoShift.h:20,
from /Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/plugins/Kaleidoscope-AutoShift/src/Kaleidoscope-AutoShift.h:20,
from /Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/plugins/Kaleidoscope-AutoShift/src/Kaleidoscope/AutoShift.cpp:18:
/Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/plugins/Kaleidoscope-AutoShift/src/Kaleidoscope/AutoShift.cpp: In member function 'kaleidoscope::EventHandlerResult kaleidoscope::plugin::AutoShift::onKeyswitchEvent(kaleidoscope::Key&, byte, byte, uint8_t)':
/Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/hardware/keyboardio/avr/libraries/Kaleidoscope/src/kaleidoscope/key_defs.h:105:47: warning: narrowing conversion of '(int)(mapped_key.kaleidoscope::Key::<anonymous>.kaleidoscope::Key::<anonymous struct>::flags | 8u)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]
#define LSHIFT(k) ((Key) { k.keyCode, k.flags | SHIFT_HELD })
^
/Users/tiltowait/Programming/Keyboardio/Model01-Firmware/lib/plugins/Kaleidoscope-AutoShift/src/Kaleidoscope/AutoShift.cpp:108:21: note: in expansion of macro 'LSHIFT'
hid::pressKey(LSHIFT(mapped_key));
What is the proper way to force the firmware to output a shifted key?