diff -pruN 1.26.0-1/debian/changelog 1.26.0-1ubuntu1/debian/changelog
--- 1.26.0-1/debian/changelog	2021-12-11 15:57:53.000000000 +0000
+++ 1.26.0-1ubuntu1/debian/changelog	2022-04-08 11:52:31.000000000 +0000
@@ -1,3 +1,10 @@
+mate-settings-daemon (1.26.0-1ubuntu1) jammy; urgency=medium
+
+  * debian/patches:
+    + Add 1002-debounce_multiple_rfkill_events.patch (LP: #1936956)
+
+ -- Martin Wimpress <code@wimpress.io>  Fri, 08 Apr 2022 12:52:31 +0100
+
 mate-settings-daemon (1.26.0-1) unstable; urgency=medium
 
   [ Martin Wimpress ]
diff -pruN 1.26.0-1/debian/patches/1002-debounce_multiple_rfkill_events.patch 1.26.0-1ubuntu1/debian/patches/1002-debounce_multiple_rfkill_events.patch
--- 1.26.0-1/debian/patches/1002-debounce_multiple_rfkill_events.patch	1970-01-01 00:00:00.000000000 +0000
+++ 1.26.0-1ubuntu1/debian/patches/1002-debounce_multiple_rfkill_events.patch	2022-04-08 11:49:30.000000000 +0000
@@ -0,0 +1,51 @@
+Description: When pressing airplane mode hotkey on many HP laptops, the AT keyboard,
+HP Wireless device (HPQ6001) and Intel HID device (INT33D5) can all send
+rfkill hotkey event.
+
+Preferably we should just leave one device and unregister the others. In
+practice this is hard to achieve, becuase the presence of a device
+doesn't necessarily mean it can generate rfkill hotkey event, we can
+only know what devices are capable to generate rfkill event when the
+hotkey gets pressed.
+
+So add a delay between each rfkill event to workaround the issue. This
+is also how the other OS handles multiple rfkill events.
+
+Author: Martin Wimpress <code@wimpress.io>
+
+diff --git a/plugins/media-keys/msd-media-keys-manager.c b/plugins/media-keys/msd-media-keys-manager.c
+index 4abb4af..facf2ac 100644
+--- a/plugins/media-keys/msd-media-keys-manager.c
++++ b/plugins/media-keys/msd-media-keys-manager.c
+@@ -84,6 +84,7 @@ struct _MsdMediaKeysManagerPrivate
+ 
+         /* RFKill stuff */
+         guint            rfkill_watch_id;
++        guint64          rfkill_last_time;
+         GDBusProxy      *rfkill_proxy;
+         GCancellable    *rfkill_cancellable;
+ 
+@@ -977,6 +978,7 @@ do_rfkill_action (MsdMediaKeysManager *manager,
+ {
+         const char *has_mode, *hw_mode, *mode;
+         gboolean new_state;
++        guint64 current_time;
+         RfkillData *data;
+ 
+         dialog_init (manager);
+@@ -988,6 +990,15 @@ do_rfkill_action (MsdMediaKeysManager *manager,
+         if (manager->priv->rfkill_proxy == NULL)
+                 return;
+ 
++        /* Some hardware can generate multiple rfkill events from different
++         * drivers, on a single hotkey press. Only process the first event and
++         * debounce the others */
++        current_time = g_get_monotonic_time ();
++        if (current_time - manager->priv->rfkill_last_time < G_USEC_PER_SEC)
++                return;
++
++        manager->priv->rfkill_last_time = current_time;
++
+         if (get_rfkill_property (manager, has_mode) == FALSE)
+                 return;
+ 
diff -pruN 1.26.0-1/debian/patches/series 1.26.0-1ubuntu1/debian/patches/series
--- 1.26.0-1/debian/patches/series	2020-02-13 10:21:31.000000000 +0000
+++ 1.26.0-1ubuntu1/debian/patches/series	2022-04-08 11:49:43.000000000 +0000
@@ -1 +1,2 @@
 1001_RDA-Don-t-apply-stored-monitor-configuration-if-sess.patch
+1002-debounce_multiple_rfkill_events.patch
