OK, that makes sense and as far as I can see it should be possible to achieve using the Pro Micro and USB host shield that you linked to. You will need to provide a mapping between the input and output scan codes - or perhaps multiple mappings selected by a switch, if you want to be able to select the layout in the fly. You will probably want to keep that mapping in program memory using the PROGMEM modifier.