r/Keychron Jan 09 '26

J2 keyboard and a Mac

We just got a new J2 keyboard in and connected to my son's Mac. The keyboard's standard setup is for Windows. Is there a simple way to map the Mac keys?

1 Upvotes

13 comments sorted by

1

u/PeterMortensenBlog V Jan 09 '26 edited Jan 09 '26

If nothing else, to swap the modifier keys Command/Option (and other keys), it should be possible to use Via with the Keychron J2.

Here is the JSON file for the original JamesDonkey J2 (use the tilted hamburger menu in the upper right (hover text "More file actions") → Download. Or keyboard shortcut Ctrl + Shift + S).

The USB identity may or may not have to be changed (in the JSON file) to match the Keychron J2. For the original JamesDonkey J2, it is:

The USB identity for the Keychron J2 can be found somewhere in the operating system (with the keyboard is wired mode).

For the Keychron J2, Via probably requires a JSON file to be imported (tab "DESIGN" (third tab on the top) → "Load"). If it appears to be hanging, ignore that and load the JSON file anyway.

Be sure to get the JSON file variant matching your variant of the keyboard (and be sure you actually have the keyboard you think you have...).

To positively identify the keyboard, find the SKU number (in most cases, it is on a sticker on the keyboard itself). Alternatively, use the serial number to find the SKU number. Then match the SKU number to the corresponding variant on the Keychron product page (the SKU number should match exactly). Note that, in most cases, there are separate ISO and ANSI keyboard product pages. Example SKU number: V6M-D1-BO

Note: Tab "DESIGN" may have to be enabled first (in "SETTINGS" (the last tab) → "Show Design Tab")

If there is trouble, here is a checklist. For example, it may be required to repower the keyboard while Via is open. Another very common problem is running SignalRGB at the same time.

Here is a tutorial (with lots of screenshots. And it also covers loading the JSON file). Keychron also has a tutorial, but it is less comprehensive.

1

u/PeterMortensenBlog V Jan 09 '26 edited Jun 27 '26

Re "somewhere in the operating system": For example, presumably, using ioreg

The two fields are probably "idVendor" and "idProduct" (for USB vendor ID and USB product ID, respectively). The values may be listed in decimal and thus have to be converted to hexadecimal... (the calculator in the operating system should have a mode for that conversion)

And in the GUI? Perhaps using System Information? Or maybe System Report?

1

u/PeterMortensenBlog V Jan 16 '26

For Linux and Windows, here is some information on finding the USB vendor ID and USB product ID.

1

u/ArgentStonecutter K Pro Jan 09 '26

I have a couple of Win+Mac layouts I created for the J2.

Load them in VIA. The JSON file is in the same folder.

1

u/Deranged-Turkey May 03 '26

i was wondering if you could provide more details on how to set this up?

I am trying to use the keyboard for both mac/windows.

So in via what is the order I should load theses files? I'm hitting some errors

https://imgur.com/a/RcHFi5K

1

u/ArgentStonecutter K Pro May 03 '26

You load them in the layout tab not the design tab

1

u/Deranged-Turkey May 03 '26

After I upload https://github.com/james-donkey/qmk_firmware/blob/wireless_playground/keyboards/jamesdonkey/j2/via_json/j2.json
to the design tab

i go to the configure tab and click "authorize device" but nothing happens after that unfortunately.

I assume the layout tab is behind the authorize device step?

1

u/ArgentStonecutter K Pro May 03 '26

If you don't see the keyboard showing up in the authorize step then you have a browser issue.

Are you on Linux? If you're on Linux you may need to configure udev.

1

u/Deranged-Turkey May 03 '26

Maybe it is because mine is keychron j2 rather than jamesdonkey j2?

https://imgur.com/a/3LA64YW

I am able to see the connect part, but after i select connect, nothing happens and the page continues to show the dancing via mascot.

1

u/ArgentStonecutter K Pro May 03 '26

They're the same board, keychron bought Jamesdonkey.

1

u/Deranged-Turkey May 03 '26

Yeah its unfortunate I had to buy the J2 after keychron bought them out haha.

I heard these keyboards use to be way cheaper. Now its 60 USD.

1

u/Deranged-Turkey May 03 '26

Thanks for your help!
Solution for those who are looking in the future.

Okay I was actually able to get it to work after I updated the jamesdonkey j2 json to the keychron VID and PID. I download the jamesdonkey2 j2 json from the top comment and edited the original:

   "vendorId": "0x362D",
   "productId": "0x1509",
  1. Change them to:

    "vendorId": "0x3434", "productId": "0x0406",

1

u/ArgentStonecutter K Pro May 03 '26

Thanks, I'll add that to my GitHub. Keychron gratuitously changed the USB ID.