Score:1

How do I force Windows mode for a Bluetooth keyboard connection?

cn flag

Many hybrid (PC/Mac or Windows/MacOS) Bluetooth keyboards have a physical button (Keychron) or hotkey (Logitech) to switch between Windows- and MacOS-mode.

The Seenda Wireless Backlit Bluetooth Keyboard ISJ-WJK70BT4 has no such hard- or softbutton. It automatically detects Windows and MacOS and changes the button layout accordingly, most famously swapping Win/Option and Alt/Cmd.

I don't know how the Seenda Bluetooth keyboard makes this detection, but when connecting to Ubuntu, the keyboard will switch to MacOS mode. No questions asked.

How to I make the keyboard think the Bluetooth connection originated from a Windows computer rather than a Mac computer?

Both the extremely short manual and the customer service know of no hidden key combination to force a certain mode.

$ dmesg | grep -i blue
[  7.24411] Bluetooth: Core ver 2.22
[  7.24414] Bluetooth: HCI device and connection manager initialized
[  7.24415] Bluetooth: HCI socket layer initialized
[  7.24415] Bluetooth: L2CAP socket layer initialized
[  7.24416] Bluetooth: SCO socket layer initialized
[  7.55631] Bluetooth: hci0: Firmware revision 0.0 build 121 week 36 2020
[  9.58168] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[  9.58168] Bluetooth: BNEP filters: protocol multicast
[  9.58169] Bluetooth: BNEP socket layer initialized
[ 13.50556] Bluetooth: RFCOMM TTY layer initialized
[ 13.50558] Bluetooth: RFCOMM socket layer initialized
[ 13.50559] Bluetooth: RFCOMM ver 1.11
[790.26350] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[790.26350] Bluetooth: HIDP socket layer initialized
[790.29982] input: Bluetooth 5.1 Keyboard as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:256/0005:0A5C:8503.0007/input/input27
[790.30000] input: Bluetooth 5.1 Keyboard Consumer Control as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:256/0005:0A5C:8503.0007/input/input28
[790.30006] input: Bluetooth 5.1 Keyboard System Control as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:256/0005:0A5C:8503.0007/input/input29
[790.30013] hid-generic 0005:0A5C:8503.0007: input,hidraw6: BLUETOOTH HID v1.1b Keyboard [Bluetooth 5.1 Keyboard] on 50:e0:85:xx:xx:xx
$ hciconfig -a
hci0:   Type: Primary  Bus: USB
    BD Address: 50:E0:85:XX:XX:XX  ACL MTU: 1021:4  SCO MTU: 96:6
    UP RUNNING PSCAN ISCAN INQUIRY 
    RX bytes:8110833 acl:261 sco:0 events:212653 errors:0
    TX bytes:637948 acl:68 sco:0 commands:69974 errors:0
    Features: 0xbf 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
    Link policy: RSWITCH SNIFF 
    Link mode: SLAVE ACCEPT 
    Class: 0x100104
    Service Classes: Object Transfer
    Device Class: Computer, Desktop workstation
    HCI Version: 5.1 (0xa)  Revision: 0x100
    LMP Version: 5.1 (0xa)  Subversion: 0x100
    Manufacturer: Intel Corp. (2)
Shay Ashkenazi avatar
ru flag
Did you find a solution?
cn flag
Nope. The keyboard is collecting dust on my e-waste pile. I'm still interested in the answer to this question. If you are too, please up-vote the question.
Baysa avatar
fk flag
I had same Problem with my seenda keyboard. if you have dual boot system then try it. (Use windows bluetooth key on Linux) It's solved my Problem https://unix.stackexchange.com/questions/255509/bluetooth-pairing-on-dual-boot-of-windows-linux-mint-ubuntu-stop-having-to-p
Pilot6 avatar
cn flag
How is this question related to Ubuntu? It is a pure hardware issue.
cn flag
@Baysa This is interesting. It works on my laptop. Apparently the paired keyboard remembers they key belongs to Windows mode, so all you need to do is copy the key over to Linux and it stays in Windows mode. I don't have Windows on my home or office desktop though, so I cannot use this trick, but it proves that it is possible!
cn flag
@Pilot6 The software, or more specifically: Ubuntu, causes the keyboard to switch to MacOS mode. I don't know how bluetooth drivers work, but I imagine it communicates something similar to a browser's "user agent" string. It makes browsers behave a certain way, and there are many extensions and tricks to spoof the user agent to make the browser behave a different way. I need a similar software trick for Bluetooth that changes how Ubuntu tells the keyboard to switch to MacOS mode similar to how Windows communicates to make the keyboard switch to Windows mode.
Pilot6 avatar
cn flag
Most likely the keyboard itself switches to Mac mode when it doesn't detect Windows.
cn flag
@Pilot6 how does the keyboard "detect" Windows? I want Ubuntu to say to my keyboard: _"Hey, I'm Windows."_
Score:0
ru flag

The keyboard Seenda ISJ-WJK70BT4 has a built-in option to manually re-identify the system. To do this, you can press Fn + Left Shift + W. I had the same issue on Arch Linux and I fixed it this way.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.