qmk_firmware/docs/features
Andre Brait 7f475b590a
Tweak OS detect, add OS_DETECTION_SINGLE_REPORT (#24379)
* Default OS_DETECTION_DEBOUNCE bumped from 200ms to 250ms
* Add OS_DETECTION_SINGLE_REPORT to prevent undesired multiple reports
* Prevents random stability issues on ARM MacBooks after switching via KVM
* Works for every device I could test, including ARM MacBooks
* Disabled by default to keep current behavior
* Add Troubleshooting section on documentation
* Tweak reset logic to prevent a freeze with some KVMs

The USB stack on ARM MacBooks is more similar to that of iOS and,
for some reason, it seems to like sending packets that influence
the OS detection and results in a second OS_MACOS report being sent
at a random period of time after plugging the keyboard back. This
does not always happen and the consequences of this vary based on
what the user is doing in the callback, but since this is not
obvious and it's hard to debug, I've decided to add a flag for
those affected by such issue. The stability issue I had in mine was
a combination of factors and I found the actual cause being my own
bad math when changing the default layer, but this change alone is
also confirmed to fix it. Lastly, soem KVMs seem to leave the USB
controlled in a suspended state when cold-booting Windows, meaning
the keyboard would hang and the reset logic would not work. This
tunes it so that it can get out of such state. Also retested for
compatibility with my old KVM to ensure the logic works for both.
2024-10-06 21:50:39 +13:00
..
audio.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
auto_shift.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
autocorrect.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
backlight.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
bluetooth.md Add new connection keycodes for Bluetooth, 2.4GHz. (#24251) 2024-08-27 10:52:23 +10:00
bootmagic.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
caps_word.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
combo.md Add combo key repress feature (#22858) 2024-09-05 23:27:20 -07:00
command.md [Docs] Remove references to bootmagic lite (#24369) 2024-09-06 17:30:54 +01:00
digitizer.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
dip_switch.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
dynamic_macros.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
encoders.md [docs] Update RGBLight (Underglow) keycode names (#23999) 2024-07-06 16:18:59 +10:00
grave_esc.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
haptic_feedback.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
hd44780.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
joystick.md [Docs] Update joystick.md (#23928) 2024-08-30 21:44:03 -06:00
key_lock.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
key_overrides.md Add support for key override introspection. (#24120) 2024-07-16 09:22:17 +10:00
leader_key.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
led_indicators.md Remove deprecated led_set_user (#23979) 2024-06-22 09:10:58 +01:00
led_matrix.md LED drivers: extract documentation from LED/RGB Matrix pages (#23630) 2024-07-15 12:03:30 +10:00
midi.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
mouse_keys.md Enhance overlapping mouse keys control (#23341) 2024-08-19 03:18:28 +01:00
oled_driver.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
os_detection.md Tweak OS detect, add OS_DETECTION_SINGLE_REPORT (#24379) 2024-10-06 21:50:39 +13:00
pointing_device.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
programmable_button.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
ps2_mouse.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
rawhid.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
repeat_key.md Normalise mouse keycodes (#23975) 2024-07-03 18:35:54 +10:00
rgb_matrix.md LED drivers: extract documentation from LED/RGB Matrix pages (#23630) 2024-07-15 12:03:30 +10:00
rgblight.md [docs] Update RGBLight (Underglow) keycode names (#23999) 2024-07-06 16:18:59 +10:00
secure.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
send_string.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
sequencer.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
space_cadet.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
split_keyboard.md Rename encoder pins defines (#24003) 2024-07-03 17:18:27 +10:00
st7565.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
stenography.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
swap_hands.md Fix documentation error (#23872) 2024-06-06 12:09:44 +10:00
tap_dance.md fixed spelling errors in example 4 (#24318) 2024-08-26 04:34:42 +01:00
tri_layer.md Fix Tri-Layer Keycode Descriptions (#23888) 2024-06-09 10:57:45 -07:00
unicode.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00
wpm.md [docs] Organize driver & feature docs into subfolders (#23848) 2024-06-02 12:42:24 +10:00