Unity Editor disconnects USB keyboard

Using 2022.3.35f1 on Ubuntu 24.04 - when the Unity Editor is running, my USB keyboard will occasionally stop working (for the entire computer, not just in Unity). This only happens when the Unity Editor window is open. The window is sitting idle - the game is not running.

Can anyone suggest why this might be? Does Unity Editor periodically enumerate USB devices (to detect controllers) maybe?

Disconnecting the USB keyboard and plugging it back in gets the keyboard working again, at least for a couple of minutes.

I get the same thing for the hub I plug my keyboard and mouse into. Plugging them into a different hub before the issue happens prevents it, but moving them after the issue does not seem to work for me. I don’t think i have seen it happen without something unsaved existing.
Linux reports lots of err -110 on multiple usb ports.

Some of the logs after different occurrences of the issue are below.

(Unity:55915): GLib-GIO-CRITICAL **: 15:39:12.995: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
Asset Pipeline Refresh (id=65efab09742e71309a5033b815037a35): Total: 0.002 seconds - Initiated by StopAssetImportingV2(NoUpdateAssetOptions)

(Unity:55915): GLib-GIO-CRITICAL **: 15:39:12.998: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
Asset Pipeline Refresh (id=d3c38a41531e118a391aa1bb99b2551d): Total: 0.660 seconds - Initiated by RefreshV2(NoUpdateAssetOptions)
	Summary:
		Imports: total=0 (actual=0, local cache=0, cache server=0)
		Asset DB Process Time: managed=0 ms, native=660 ms
		Asset DB Callback time: managed=0 ms, native=0 ms
		Scripting: domain reloads=0, domain reload time=0 ms, compile time=0 ms, other=0 ms
		Project Asset Count: scripts=4248, non-scripts=3411
		Asset File Changes: new=0, changed=0, moved=0, deleted=0
		Scan Filter Count: 1
	InvokeBeforeRefreshCallbacks: 0.000ms
	ApplyChangesToAssetFolders: 0.064ms
	Scan: 658.596ms
	GatherAllCurrentPrimaryArtifactRevisions: 0.155ms
	UnloadStreamsBegin: 0.012ms
	UnloadStreamsEnd: 0.034ms
	Untracked: 1.292ms
Assertion failed on expression: 'CurrentThread::EqualsID(Thread::mainThreadId)'
Setting up scripting invocation from unattached thread

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
(Unity:6118): GLib-GIO-CRITICAL **: 16:24:02.317: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
Asset Pipeline Refresh (id=e2e21572d9c0f252390682693d051d3a): Total: 0.731 seconds - Initiated by RefreshV2(AllowForceSynchronousImport)
	Summary:
		Imports: total=0 (actual=0, local cache=0, cache server=0)
		Asset DB Process Time: managed=0 ms, native=724 ms
		Asset DB Callback time: managed=0 ms, native=6 ms
		Scripting: domain reloads=0, domain reload time=0 ms, compile time=0 ms, other=0 ms
		Project Asset Count: scripts=4248, non-scripts=3411
		Asset File Changes: new=0, changed=0, moved=0, deleted=0
		Scan Filter Count: 1
	InvokeBeforeRefreshCallbacks: 6.541ms
	ApplyChangesToAssetFolders: 0.145ms
	Scan: 721.013ms
	GatherAllCurrentPrimaryArtifactRevisions: 0.433ms
	UnloadStreamsBegin: 0.241ms
	UnloadStreamsEnd: 0.033ms
	Untracked: 2.932ms
Attempted to call .Dispose on an already disposed CancellationTokenSource
Android Extension - Scanning For ADB Devices 187 ms
Android Extension - Scanning For ADB Devices 207 ms
Attempted to call .Dispose on an already disposed CancellationTokenSource
Android Extension - Scanning For ADB Devices 182 ms