Python: Noob wanting some pointers

Hi. I am a complete noob to programming, but have done some visual programming in the past.
So I want to make a small project to practice (always easier to learn that way).

Project goal:

I have a dual computer setup with a mac and a pc. And I only use the mac keyboard.
When I connect the mac keyboard to the pc, weird stuff happens to the ctrl/alt/cmd keys, since they layout is different from a pc keyboard layout.
Normally I would get by this, but doing some registry editing stuff, but I would like a more easy solution (much more complex to make, yes, but everyone needs a hobby-project:) )
So my project is this:
Make a mac keyboard to windows keyboard “translater” program.
In the long run, I want it to run on an arduino board, that is connected between the keyboard and a pc/mac.

Could anyone give me a rough idea of some keywords I can google?
Some pointers and hits would be greatly appreciated.
For starters, I would like some hints towards getting a keyboard input and converting it do a different output.

It might take me forever to finish, but I want to learn.

Thanks a lot:)

Hmm, this is an interesting problem!

On the one hand I would say that to solve this problem then yes, probably remapping at the registry level makes most sense. Maybe you could script these registry changes so you can toggle the mapping? I don’t know - it’s been a long time since I’ve messed with windows, and I would assume there are security measures in place that stop scripts changing registry values…

A small code solution is to look at something like Autohotkey. That’s a very basic scripting language that is good for things like key remapping.

The Arduino idea is cool - you’d likely want to read the output of the keyboard on the Arduino and then pipe out the desired new value to your computer. I suspect keyboard drivers might be the downfall here…I don’t know how easy it would be to make the computer accept the Arduino as a keyboard.

The other issue might be latency! The processing of the keyboard input might give you some lag…maybe not noticeable, maybe the difference between loss and victory in a Battle Royale?

Hi again. I forgot to write, that I want this to be done in python (trying to start out with learning python).
So im specifically looking for pointers when it comes to python. Thanks a ton:)