Причины возникновения помех:
ЭДС, наводимая перемещением магнита
ЭДС, наводимая движением контактов геркона в постоянном магнитном поле
Магнитострикционный эффект
Шумы контактов
К примеру, чтобы в 3 пункте избежать магнитострикционный эффект можно использовать сплав железа и никеля (45-82% Ni). Сплав обладает почти нулевой магнитострикцией.
А что нужно применить в других пунктах, чтобы избежать или минимизировать их?

От шумов контактов (независимо от реализации - хоть геркон, хоть обычная кнопка) не избавишься никак. Если схема цифровая и достаточно быстрая - всё равно дребезг будет (как будто контакты замыкаются и размыкаются несолько раз).
Самый просто и распространённый вариант решения - это програмная фильтрация дребезга (если клавиатуру опрашивает программируемый микроконтроллер, например).
Второй вариант - сатвить на каждую кнопку, например, RC-фильтр. Однако такое решение имеет свои недостатки: если кнопок много, то нужно много дополнительных элементов, схема усложняется; кроме того скорость срабатвания такой кнопки может быть заметно ниже.
Остальные причины устранять смысла нету, т. к. шумы контактов никак конструкционно не устранишь (микроскопические неровности на поверхности металла, не идеально параллельное прилегание контактов и т. д.).
P.S. Дополню про триггер. Дребез можно убрать RS-триггером, но для этого кнопка должна иметь три вывода, т. е. быть переключающей, 1 - вход, 2 - нормально замкнутый, 3 - нормально разомкнутый. Если же кнопка только замыкающая - триггер тут не поможет.
На все перечисленные выше причины можно забить, и бороться с ними не нужно. Они ничтожны по сравнению с самим дребезгом - вибрацией контактов при смыкании-размыкании, которая лучше всего подавляется программно.
не занимайся техникой, это для тебя слишком тяжело. столько проблем нашел в ничтожной задаче.
Поздравляю с изобретением
Дребезг есть во всех клавиатурах, мышках, везде где есть контакты -- подавляется программно выдержкой в 5..10..15 мсек
мы убираем дребезг мех контактов ставя на каждую кнопку триггер
Рассмотрим исходное состояние клавиатуры – ни одна кнопка не нажата.
На выходах C1, C2, C3 и P - нулевой уровень. На вход каждой клавиши циклически поступает сигнал от дешифратора. Т. к. ни одна клавиша не нажата, то сигнал состояния клавиатуры Р будет равен нулю.
После нажатия клавиши одновибратор переключается в единицу. Счетчик останавливается.
Клавиатура находится в состоянии Р = 1 и C1, C2, C3 образует соответствующие код нажатой клавиши.
В ответ на входной сигнал (логический уровень или фронт) формируется выходной импульс заданной длительности.