An afternoon I decided to create a rally sample project
Autore: admin
Unity3D (URP): Penalty kicks
An afternoon I decided to create a penalty kicks emulator, the goalkeeper estimates ball path and tries to catch in realtime.
Unity3D (URP): Space invader 3D tribute
An afternoon I decided to recreate the classic space invader, assets are voxels created reading the pixels from the original assets.
Unity3D (URP): A spaceship simulator
An afternoon I decided to recreate a space fleet animation in realtime. Assets from sketchfab optimized in Blender.
Protetto: Quando il tempo…
Unity3D (URP): Doom remake
An afternoon I decided to recreate the first map of Doom. The full project took 6 hours. 3D models (including the level which was 2d in the original version) from different websites. UI created from scratch using original game textures.
Unity3D (URP): Free fall
An afternoon I decided to create a freefall game. The full project took 4 hours. 3D models from sketchfab and other sites.
Unity3D (URP): Lost in the swamps…
An afternoon I decided to walk inside a swamp. The full project took 5 hours. 3D models from sketchfab, Megascan and some other sites; audio from PixaBay and other sites. Butterflies around..alligators…frogs…and some creatures eyes around…
Unity3D (URP): Lunar lander remake
An afternoon I decided to recreate the classical 1979 Atari game with a 3D version. The game let you land on the moon surface. The full project took 4 hours. The land module is from sketch fab.
Unity3D (URP): The train
An afternoon I decided to create an fps inside a train. The full project took 6 hours. 3D models from some students.
Unity3D (URP): Nuclear meltdown
An afternoon I decided to create an fps escape room nuclear themed. The full project took 6 hours. 3D assets from some of our 3D art students. I decided to add an helmet to create a light diegetic interface.
GHD 2023
iOS senior developer for: FitPrime
From the last year I’m in charge of developing the iOS version of FitPrime wellness app as senior iOS developer.
Logitech K860 right cmd/option swap position on Mac for better { } and [ ] type programming experience on ISO layouts.
When using this new keyboard I noticed the right command position forces to change my fingers combination using the pinky instead of the thumb to use the command key, switching to this new layout is a bit cumbersome when you are used to laptop keyboards which have this key left to the space bar.
The main problem for me is when typing [ , ] but mainly { , } which require to use SHIFT + COMMAND this makes you use a not so easy position or change to another fingers position which is not my preferred layout. The main culprit is the position of the FN button which i noticed has the same layout for MX Keys and MX Keys mini too (so is a common “mistake” for Mac ISO keyboard programmers) .
On MacOS you can swap the control keys but is for both of them and this means I will lose the left keycap which is not what I wanted.
How Logitech think you have to use it on Mac to type [ ] and specially { } vs other keyboards:
How Logitech suggest to swap fingers to use it
There are 2 solutions:
- Karabinier free application, which let to swap any keys (ref: https://karabiner-elements.pqrs.org) note: after swapping the keys using the “Simple modifications” area remember to enable “Modify events” in the “Devices” area.
- A simple plist inside the .LaunchAgents which swap them at reboot (provided as an attachment to this article which uses Product name and not ProductID, or you could follow the steps.)
Note: if the Mac layout its your only layout you could open it and swap physically the keys using the new remapping to match with the virtual one.
Way 2:
Create a file inside ~/Library/LaunchAgents/ called com.local.KeyRemapping.plist; (you can use any editor TextEdit too)
eg using vim: vim ~/Library/LaunchAgents/com.local.KeyRemapping.plist
Fill with the code (type i to enter edit mode) (created changing the version created here: https://hidutil-generator.netlify.app), save (type esc then wq! return to save and quit edit mote)
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>Label</key>
<string>com.local.KeyRemapping</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/hidutil</string>
<string>property</string>
<string>–matching</string>
<string>{“Product:”ERGO K860”}</string>
<string>–set</string>
<string>{“UserKeyMapping”:[
{
“HIDKeyboardModifierMappingSrc”: 0x7000000E6,
“HIDKeyboardModifierMappingDst”: 0x7000000E7
},
{
“HIDKeyboardModifierMappingSrc”: 0x7000000E7,
“HIDKeyboardModifierMappingDst”: 0x7000000E6
}
]}</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Then: launchctl load ~/Library/LaunchAgents/com.local.KeyRemapping.plist
No output? All goes well,
Error 5? try launchctl unload ~/Library/LaunchAgents/com.local.KeyRemapping.plist and load again
Now: launchctl list | grep local
You should find a row with the plist Label:
35903 0 com.apple.localizationswitcherd
0 com.local.KeyRemapping
Then: launchctl start local.KeyMapping
All good? No output from the command
Finally: hidutil property --get "UserKeyMapping"
You should see :
(
{
HIDKeyboardModifierMappingDst = 30064771303;
HIDKeyboardModifierMappingSrc = 30064771302;
},
{
HIDKeyboardModifierMappingDst = 30064771302;
HIDKeyboardModifierMappingSrc = 30064771303;
}
)
Note: if not working: you can try replacing {"Product:"ERGO K860"}
with {"ProductID:"0xhexcode"} where "hexcode
” with the Product ID (in my case was 0xB359) found in the Apple Menu -> System informations area
Tip to revert back :
hidutil property --set '{"UserKeyMapping":[]}'
launchctl stop ~/Library/LaunchAgents/com.local.KeyRemapping.plist
The command could be delivered simply by the terminal inline: hidutil property –matching ‘{“ProductID”:0xB359}’ –set ‘{“UserKeyMapping”:[{“HIDKeyboardModifierMappingSrc”: 0x7000000E6,”HIDKeyboardModifierMappingDst”: 0x7000000E7},{“HIDKeyboardModifierMappingSrc”: 0x7000000E7,”HIDKeyboardModifierMappingDst”: 0x7000000E6}]}’