Solution 1:

You don't need SelectedItemSlot when you can just use SelectedItem! Also probably because you were testing for an item named "key", not "Key2A".

/testfor @p[r=100] {SelectedItem:{tag:{display:{Name:"Key2A"}}}}