Confused

I want to be able to create input layout object in the App for arbitrary
shaders,  without a hard-coded map from shader name to layout desc. How?