hardware interaction