As a fan of my first mechanical keyboard, I had to model it. This is my 3rd project with "Blender". I think you can say that this is a HighPolyObject (~92 MB). ^^
The textures (for the cable and the serial-number-plate) were created by me and are included in the BlenderFile. The rest are just Noise-, Voronoi- and GradientTextures with a little bit of ColorRamp.
Almost all components are individual objects and they are not connected. Except for the USB-Plug. It is connected to the cable (parented) so that you can re-route the cable by editing the BezierCurve.
Enjoy it and have fun!
very nice :)