seperate the modifier from the key structure, use different modifier values for each input device