The branch main has been updated by wulf:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=8d9a5d44b155af7123893a6948ad7e86b48c57b3

commit 8d9a5d44b155af7123893a6948ad7e86b48c57b3
Author:     Vladimir Kondratyev <[email protected]>
AuthorDate: 2025-12-01 20:42:15 +0000
Commit:     Vladimir Kondratyev <[email protected]>
CommitDate: 2025-12-01 20:42:15 +0000

    evdev: Sync event codes with Linux kernel 6.18
    
    MFC after:      1 month
---
 sys/dev/evdev/input-event-codes.h | 28 ++++++++++++++-
 sys/dev/evdev/input.h             | 73 +++++++++++++++++++++++----------------
 2 files changed, 71 insertions(+), 30 deletions(-)

diff --git a/sys/dev/evdev/input-event-codes.h 
b/sys/dev/evdev/input-event-codes.h
index 59eb8e104c87..81c88ec86b9b 100644
--- a/sys/dev/evdev/input-event-codes.h
+++ b/sys/dev/evdev/input-event-codes.h
@@ -39,6 +39,7 @@
 #define        INPUT_PROP_TOPBUTTONPAD         0x04    /* softbuttons at top 
of pad */
 #define        INPUT_PROP_POINTING_STICK       0x05    /* is a pointing stick 
*/
 #define        INPUT_PROP_ACCELEROMETER        0x06    /* has accelerometer */
+#define        INPUT_PROP_PRESSUREPAD          0x07    /* pressure triggers 
clicks */
 
 #define        INPUT_PROP_MAX                  0x1f
 #define        INPUT_PROP_CNT                  (INPUT_PROP_MAX + 1)
@@ -531,6 +532,7 @@
 #define        KEY_NOTIFICATION_CENTER 0x1bc   /* Show/hide the notification 
center */
 #define        KEY_PICKUP_PHONE        0x1bd   /* Answer incoming call */
 #define        KEY_HANGUP_PHONE        0x1be   /* Decline incoming call */
+#define        KEY_LINK_PHONE          0x1bf   /* AL Phone Syncing */
 
 #define        KEY_DEL_EOL             0x1c0
 #define        KEY_DEL_EOS             0x1c1
@@ -612,8 +614,14 @@
 #define        BTN_DPAD_LEFT           0x222
 #define        BTN_DPAD_RIGHT          0x223
 
+#define        BTN_GRIPL               0x224
+#define        BTN_GRIPR               0x225
+#define        BTN_GRIPL2              0x226
+#define        BTN_GRIPR2              0x227
+
 #define        KEY_ALS_TOGGLE          0x230   /* Ambient light sensor */
 #define        KEY_ROTATE_LOCK_TOGGLE  0x231   /* Display rotation lock */
+#define        KEY_REFRESH_RATE_TOGGLE 0x232   /* Display refresh rate toggle 
*/
 
 #define        KEY_BUTTONCONFIG                0x240   /* AL Button 
Configuration */
 #define        KEY_TASKMANAGER         0x241   /* AL Task/Project Manager */
@@ -629,10 +637,24 @@
 #define        KEY_CAMERA_ACCESS_ENABLE        0x24b   /* Enables programmatic 
access to camera devices. (HUTRR72) */
 #define        KEY_CAMERA_ACCESS_DISABLE       0x24c   /* Disables 
programmatic access to camera devices. (HUTRR72) */
 #define        KEY_CAMERA_ACCESS_TOGGLE        0x24d   /* Toggles the current 
state of the camera access control. (HUTRR72) */
+#define        KEY_ACCESSIBILITY               0x24e   /* Toggles the system 
bound accessibility UI/command (HUTRR116) */
+#define        KEY_DO_NOT_DISTURB              0x24f   /* Toggles the 
system-wide "Do Not Disturb" control (HUTRR94)*/
 
 #define        KEY_BRIGHTNESS_MIN              0x250   /* Set Brightness to 
Minimum */
 #define        KEY_BRIGHTNESS_MAX              0x251   /* Set Brightness to 
Maximum */
 
+/*
+ * Keycodes for hotkeys toggling the electronic privacy screen found on some
+ * laptops on/off. Note when the embedded-controller turns on/off the eprivacy
+ * screen itself then the state should be reported through drm connecter props:
+ * 
https://www.kernel.org/doc/html/latest/gpu/drm-kms.html#standard-connector-properties
+ * Except when implementing the drm connecter properties API is not possible
+ * because e.g. the firmware does not allow querying the presence and/or status
+ * of the eprivacy screen at boot.
+ */
+#define        KEY_EPRIVACY_SCREEN_ON          0x252
+#define        KEY_EPRIVACY_SCREEN_OFF         0x253
+
 #define        KEY_KBDINPUTASSIST_PREV         0x260
 #define        KEY_KBDINPUTASSIST_NEXT         0x261
 #define        KEY_KBDINPUTASSIST_PREVGROUP            0x262
@@ -773,6 +795,9 @@
 #define        KEY_KBD_LCD_MENU4               0x2bb
 #define        KEY_KBD_LCD_MENU5               0x2bc
 
+/* Performance Boost key (Alienware)/G-Mode key (Dell) */
+#define        KEY_PERFORMANCE                 0x2bd
+
 #define        BTN_TRIGGER_HAPPY               0x2c0
 #define        BTN_TRIGGER_HAPPY1              0x2c0
 #define        BTN_TRIGGER_HAPPY2              0x2c1
@@ -932,7 +957,8 @@
 #define        SW_MUTE_DEVICE          0x0e  /* set = device disabled */
 #define        SW_PEN_INSERTED         0x0f  /* set = pen inserted */
 #define        SW_MACHINE_COVER        0x10  /* set = cover closed */
-#define        SW_MAX                  0x10
+#define        SW_USB_INSERT           0x11  /* set = USB audio device 
connected */
+#define        SW_MAX                  0x11
 #define        SW_CNT                  (SW_MAX+1)
 
 /*
diff --git a/sys/dev/evdev/input.h b/sys/dev/evdev/input.h
index 3b87101da75f..ce0fb616a3df 100644
--- a/sys/dev/evdev/input.h
+++ b/sys/dev/evdev/input.h
@@ -142,6 +142,8 @@ struct input_keymap_entry {
 #define        BUS_RMI                 0x1D
 #define        BUS_CEC                 0x1E
 #define        BUS_INTEL_ISHTP         0x1F
+#define        BUS_AMD_SFH             0x20
+#define        BUS_SDW                 0x21
 
 /*
  * MT_TOOL types
@@ -203,20 +205,6 @@ struct ff_condition_effect {
        int16_t         center;         /* center of dead zone */
 };
 
-/*
- * Force feedback periodic effect types
- */
-
-#define        FF_SQUARE       0x58
-#define        FF_TRIANGLE     0x59
-#define        FF_SINE         0x5a
-#define        FF_SAW_UP       0x5b
-#define        FF_SAW_DOWN     0x5c
-#define        FF_CUSTOM       0x5d
-
-#define        FF_WAVEFORM_MIN FF_SQUARE
-#define        FF_WAVEFORM_MAX FF_CUSTOM
-
 struct ff_periodic_effect {
        uint16_t                waveform;
        uint16_t                period;         /* ms */
@@ -233,21 +221,14 @@ struct ff_rumble_effect {
        uint16_t        weak_magnitude;         /* magnitude of the light motor 
*/
 };
 
-/*
- * Force feedback effect types
- */
-
-#define        FF_RUMBLE       0x50
-#define        FF_PERIODIC     0x51
-#define        FF_CONSTANT     0x52
-#define        FF_SPRING       0x53
-#define        FF_FRICTION     0x54
-#define        FF_DAMPER       0x55
-#define        FF_INERTIA      0x56
-#define        FF_RAMP         0x57
-
-#define        FF_EFFECT_MIN   FF_RUMBLE
-#define        FF_EFFECT_MAX   FF_RAMP
+struct ff_haptic_effect {
+       uint16_t        hid_usage;
+       uint16_t        vendor_id;
+       uint8_t         vendor_waveform_page;
+       uint16_t        intensity;
+       uint16_t        repeat_count;
+       uint16_t        retrigger_period;
+};
 
 struct ff_effect {
        uint16_t                type;
@@ -262,9 +243,41 @@ struct ff_effect {
                struct ff_periodic_effect       periodic;
                struct ff_condition_effect      condition[2]; /* One for each 
axis */
                struct ff_rumble_effect         rumble;
+               struct ff_haptic_effect         haptic;
        } u;
 };
 
+/*
+ * Force feedback effect types
+ */
+
+#define        FF_HAPTIC       0x4f
+#define        FF_RUMBLE       0x50
+#define        FF_PERIODIC     0x51
+#define        FF_CONSTANT     0x52
+#define        FF_SPRING       0x53
+#define        FF_FRICTION     0x54
+#define        FF_DAMPER       0x55
+#define        FF_INERTIA      0x56
+#define        FF_RAMP         0x57
+
+#define        FF_EFFECT_MIN   FF_HAPTIC
+#define        FF_EFFECT_MAX   FF_RAMP
+
+/*
+ * Force feedback periodic effect types
+ */
+
+#define        FF_SQUARE       0x58
+#define        FF_TRIANGLE     0x59
+#define        FF_SINE         0x5a
+#define        FF_SAW_UP       0x5b
+#define        FF_SAW_DOWN     0x5c
+#define        FF_CUSTOM       0x5d
+
+#define        FF_WAVEFORM_MIN FF_SQUARE
+#define        FF_WAVEFORM_MAX FF_CUSTOM
+
 /*
  * force feedback device properties
  */
@@ -272,6 +285,8 @@ struct ff_effect {
 #define        FF_GAIN         0x60
 #define        FF_AUTOCENTER   0x61
 
+#define        FF_MAX_EFFECTS  FF_GAIN
+
 #define        FF_MAX          0x7f
 #define        FF_CNT          (FF_MAX+1)
 

Reply via email to