To begin thanks a lot for your answer. I will try to answer to your questions.
You can't connect two USB Host shields to an Arduino. The shield supports USB hub, you can talk to several USB devices simultaneously via a single shield.
Well at first I wanted to use a USB hub but it means I will have one more component on my prototype between the HID devices and my USB Host. One more component I have to understand and know how it works. With 2 Shield Host USB I could control each port. For example if a mass storage device is plug instead of a Mouse/keyboard I can switch off the USB port.
One more problem is I don't find a USB Hub controller. I only find all the time a complete fabric USB Hub with 4 ports or more. I just want two and what I saw is that design his own USB Hub is not an easy task. I'm a bit lost with all the USB Hub Controller available. I don't know what to choose because I have to be able to test it with an eval board and then use the chip in my final PCB.
But correct me if I'm wrong. I'm here to learn
This is not possible. There will always be a delay because the information has to arrive on the USB host shield, has to be processed there, must be transmitted to the Arduino, processed there as well and finally transmitted to the PC. Every stage needs some time, so a delay unavoidable.
where the enumeration occures?
To answer to that question: I know I will have some delay. What I wanted to say is I don't want visible delay for the user. An example if the user move the mouse I don't want to see my data from the mouse on the computer 2 minutes ago
. So I know I will have some delay but I would like to reduce this delay as much as I can to avoid visible delay for the user.
For the enumeration part: every USB device has to enumerate itself to communicate with a Host USB. But this question was stupid because obviously the enumeration take place in the arduino UNO. The Host USB shield is just a shield
not the main uP.
I designed the shield and wrote the code. The low-level support is static, you can't have more than one copy of it.
Are you the creator of the circuit@home USB Host shield? I didn't get it sorry.
The OP told nothing about software support.
The OP told about reading USB devices. In this case, software support is implied; you can't use this (or any other) shield without some supporting code. As far as simply stacking shields on top of Arduino board, you can use any number of them, especially if you are not planning on applying any electrical power to this stack (otherwise I suggest not exceeding 50).
So to be clear if I try to stay on my solution can I use 2 Host USB shield using a rewiring of the SS pin to communicate with the Arduino Uno? I will apply an external power supply 5V to power supply my design. And if I do that will I have a huge delay between the acquisition of the data form the Host USB and the display on the computer screen? I want to avoid visible delay for the user and because I would have to switch from one slave to the other using the SS pin I'm not sure if it is possible.
And of course I will have a software support on my arduino UNO in order to make some treatment on my data and handle the enumeration process (I want to avoid mass storage).