gifts2017

Ноутбуки DELL против Обработка Прерывания Пользователя()

Опубликовал Максим Горбачев (Tangram) в раздел Программирование - Работа с интерфейсом

Не так давно я заменил старый рабочий десктоп на ноутбук DELL. Клевый, быстрый, удобный, но еще перед покупкой озадачился одним интересным вопросом: а где кнопочка Pause/Break? Прерывание всяческих отчетов и обработок по Ctrl + Break приходится делать достаточно часто…

Прошел месяц, и вопрос встал ребром: надо. Полез в интернет, сделал звонок другу. Интернет сказал что проблема не у одного меня, сыпанул всяческими комбинациями клавиш, якобы заменяющих Ctrl + Break, и выдал кучу ссылок на софт, позволяющий переназначить как отдельные кнопки, так и их комбинации. Друг написал скрипт, переназначающий Ctrl + PrintScreen на Ctrl + Break. И все вроде бы стало хорошо минут на 15…

Через 15 минут я понял что ни куча софта ни скрипт не работают в терминальной сессии. Для того чтобы это там работало, нужно это устанавливать на самом сервере терминалов. А заказчиков, с которыми я работаю через терминал, изрядное количество, и не везде политика безопасности позволяет мне самому там что-то устанавливать, да и хлопотно это.

И тогда на глаза попалась пара статей про то, что можно отловить сканкоды клавиш и переназначить их прямо через реестр, не применяя никакого софта. Собственно софт для переназначения кнопок через реестр есть, но все что мне попалось, кнопку Pause/Break переназначить было неспособно, так как сканкоды обычных клавиш имеют 2 байта, а она -3 байта.

Беглый взгляд на клавиатуру довольно быстро уперся в правый Alt, которым я практически не пользуюсь. И понеслось…

Сканкоды клавиш можно определить с помощью утилиты http://www.law.net.ru/technologies/k_remap/KeyCode.exe.

Так, сканкод Break – E0 46, правый Alt – E0 38. Выше я упомянул, что клавиша Break имеет сканкод в 3 байта, но замена двухбайтного кода работает.

Открываем Regedit.

На всякий случай делаем архивную копию реестра. В принципе модификация реестра заключается в добавлении одного параметра, но - береженого Бог бережет.

Заходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

Добавляем двоичный параметр ScanCode Map

Формат записи Scancode Map

00 00 00 00

00 00 00 00

02 00 00 00

46 E0 38 E0

00 00 00 00

00 00 00 00

00 00 00 00

всегда нули

всегда нули

Число замен +1

первая замена

вторая замена

третья замена

всегда нули 

 

"Число замен +1" - если одна замена, 1+1 = 2, заменить можно до 3х клавиш. Если замен меньше 3х, свободное место забиваем нулями.                                 

Замены клавиш записываются в формате   "два байта нового кода кнопки в обратном порядке"  "два байта старого кода кнопки в обратном порядке".

В моем случае в поле «Первая замена» заносим: 46 E0 (два байта Break в обратном порядке) 38 E0 (два байта правый Alt в обратном порядке), поля «Вторая замена» и «Третья замена» заполняем нулями.

Закрываем реестр с сохранением изменений.

Перезагружаемся.

Теперь правый Alt работает как кнопка Break, прерывать выполнение отчетов и обработок можно комбинацией клавиш Ctrl + правый Alt.

 

Использованы следующие источники:

http://www.law.net.ru/technologies/k_remap/index.htm

P.S. Спасибо Kom-off за написание скрипта переопределения клавиш.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Доржи Балбаров (Angeros) 23.05.12 04:06
Ну вообщето прежде чем брать ноут, лично я внимательно изучаю его клавиатуру, а то дизайнеры надизайнили, а про практический смысл дизайна позабыли. Ну и наконец для меня остается загадкой если есть такие бренды как асус и асер откуда вообще находятся люди которые досихпор смотрят в сторону делл, на нем что медом намазано? или пыль никогда не садиться?!
Есть еще один вариант, можно взять беспроводную клаву и мышь где все эти кнопки есть...:)
2. Алексей Прилепский (IamAlexy) 23.05.12 06:05
Автор сфоткай клавиатуру.

а то щас окажется что у тебя есть этот Break но нажимать его надо вместе с клавишей FN (как это кстати было в Dell vostro 1700, Acer timelineX, sony vaio и прочих ноутах с которыми я работал)
hulio; MaxDavid; tango; +3 Ответить 2
3. Pavel Grigoryev (Zen2004) 23.05.12 08:36
В 1С прекрастно заработало, а вот Punto Switcher отказывается принимать.
4. Максим Горбачев (Tangram) 23.05.12 09:05
(1) Angeros, по поводу выбора - все фломастеры на вкус разные ))) а беспроводная клава к ноутбуку - это весьма взыскательный вкус должен быть у человека...
5. Максим Горбачев (Tangram) 23.05.12 09:13
(2) IamAlexy, фото есть здесь
http://images.yandex.ru/yandsearch?img_url=www.boompc.ru%2Fgoodsimages%2F105000%2F105800%2F105852%2F295390_L.jpg&p=5&text=dell%20inspiron%207110&noreask=1&isize=large&po­s=106&lr=38&rpt=simage

Если плохо видно, в верхнем ряду после F12 идет Mute, Insert, PrtScr, Delete, PgUp,PgDn, Home, End.
6. MaxDavid (MaxDavid) 23.05.12 11:39
Специально не поленился, достал старенький мертвый Dell-500.
Fn+Delete = Break.
Соответственно, Ctrl+Fn+Delete = Ctrl+Break.
8. anry mc (AnryMc) 23.05.12 11:59
(6) MaxDavid,
Спасибо - работает.
Сам долго искал ответ, но нигде не нашел. Звонил на линию поддержки DELL - ответа не получил...
9. Алекс Ю (AlexO) 23.05.12 12:15
(2) IamAlexy,
присоединяюсь.
Не такие уж тупые разработчики ноутов.
На HP тоже нет Pause\Break, но есть сочетание
Fn+Ctrl+Shift (лев), заменящие их.
Так что статья.... ни к чему... :))
10. Kom-off (Kom-off) 23.05.12 12:28
(9) AlexO, не могу согласиться:
Так что статья.... ни к чему...

Все же есть разница нажимать две кнопки или три. ...если не пианист, там оно, конечно, может быть, и без разницы...
CaSH_2004; +1 Ответить
11. anry mc (AnryMc) 23.05.12 12:47
(9) AlexO,
Даже очень к чему...

В свое время я искал как решить эту проблему:
1) В документации к ноутбуку - нет.
2) Писал и звонил на поддержку Dell - членораздельного ответа не получил.
3) В интернете - тоже не нашел.

Это вопрос к производителю - почему не наноситься маркировка на клавиши (на них есть место) и не описано в документации
12. Алексей 1 (AlX0id) 23.05.12 13:15
(9) AlexO,
Некоторые - тупые. У самого до этого был HP - там никаких проблем по отсутствию клавиш не возникало. Но устарел - хотел было его заменить HP же, но друг отсоветовал.. Взял Dell N5110 - так вот ни маркировки нет, ни распространенные советы а-ля Fn-F(1-12), Fn-Del и т.п. не помогают.
Воспользовался Sharpkeys - перезаложил break на numlock. Не сильно удобно, но всяко лучше, чем без брейка. В терминале пользуюсь экранной клавиатурой и стараюсь писать стабильный код %)
Может, воспользуюсь советом автора и перекодирую альт правый..
13. anry mc (AnryMc) 23.05.12 13:47
(12) AlX0id,
А у меня на N7010 совет из (6) MaxDavid - работает
14. Алексей 1 (AlX0id) 23.05.12 14:14
плюсом к этому еще и нет кнопки контекстного меню.
15. Алекс Ю (AlexO) 23.05.12 14:16
(11) AnryMc,
В документации к ноутбуку - нет.

согласен, нет.
почему не наноситься маркировка на клавиши (на них есть место) и не описано в документации

не наносится, тоже верно. Видимо, а Америке, откуда где ноуты разрабатываются, посчитали, что и так известно, для чего клавиша FN нужна...
Я сам нашел методом тыка, документации, конечно жде, нет.
16. Алекс Ю (AlexO) 23.05.12 14:18
(12) AlX0id,
Взял Dell N5110 - так вот ни маркировки нет

маркировки и клавиш нет на всех современных субноутах - экономят.
Мне не попадался еще ни один урезанный с полной маркировкой. Но функционал - есть везде.
17. anry mc (AnryMc) 23.05.12 14:33
(14) AlX0id,
А зачем - "мышка" есть ;-)
а вот Ctrl + Break мышкой не сделаешь
18. Алексей 1 (AlX0id) 23.05.12 14:35
(17) AnryMc,
а вот Ctrl + Break мышкой не сделаешь

Экранная клавиатура в помощь, как я уже и говорил )
19. г. Казань Рустем Гумеров (Rustig) 23.05.12 14:52
не знаешь где ждать подставы... в следующий раз буду тщательно смотреть на всякую клаву (ноута или беспроводную) для своего же спокойствия. :) консультанты-продавцы ноутбуков Делль наверное не читают Инфостарт, и потому не в курсе...статья все же "о чем-то", а именно о "подставе". :)
20. hasp_x 23.05.12 15:40
полезная статья, у меня апловская клава, брейка также нет
21. Алекс Ю (AlexO) 23.05.12 15:53
(20) hasp_x,
я и пишу, что это уже стандарт суб- и ультра- устройств.
22. anry mc (AnryMc) 23.05.12 16:35
(21) AlexO,
Стандартная, если уже знаешь.
А где это написано????
23. anry mc (AnryMc) 23.05.12 16:38
(19) Rustig,
Из обсуждения видно, что это не только DELL - еще хюлики, эплы...
Значит это тенденция - убирают "редкие" клавиши, сохраняя функционал, но не описывают это в документации
24. anry mc (AnryMc) 23.05.12 16:39
(18) AlX0id,
Не догадался о таком "выходе" (+)
25. Александр Хомяк (logarifm) 23.05.12 16:49
Ну что ж, придется поддерживать производство НР.
26. Алекс Ю (AlexO) 23.05.12 17:06
(22) AnryMc,
А где это написано????

много из того, что дают американцам в "школах", у нас никто не ведает. Потому как законодатели моды они, а не мы.
27. anry mc (AnryMc) 23.05.12 17:52
(25) logarifm,
Здесь упоминался и НР и ... см. (23)
28. anry mc (AnryMc) 23.05.12 17:55
(26) AlexO,

В американских "школах" не учат приоретету арифметических операций, поэтому даже первые версии Эксела делали вычисления в порядке их написания, если иное небыло "оговорено" скобками. Например:
2+3*6=30
2+(3*6)=20
29. anry mc (AnryMc) 23.05.12 18:01
(1) Angeros,
Может мне так везет, но
Асер из 20 нотутов - 12 гарантийных ремонтов
Делл из 20 ноутов - 3 гарантийных ремонта
(ноуты одной ценовой и производительной ниши)

+ не зря же МелкоСофт многие годы сидит на Делле
30. nirbolz 23.05.12 18:09
да интересная фишка, жаль на моем Асере такой нет
31. Доржи Балбаров (Angeros) 23.05.12 18:15
(29) Не ну корпоративные ноуты я предпочитаю хп... Хотя... споры тут и правда не уместны...
32. Максим Горбачев (Tangram) 23.05.12 19:06
(6) MaxDavid, (13) AnryMc,
Собственно статья писалась под DELL Inspiron N7110. Ctrl + Fn + Delete - не работает.
Я облазил и Рунет, и сайты на английском языке - комбинации предлагались разные, у меня не сработала ни одна.
33. Максим Горбачев (Tangram) 23.05.12 19:40
(9) AlexO,
очень рад за владельцев HP, но на DELL Inspiron N7110 такой комбинации либо нет либо ее очень хорошо скрывают...
34. Олег Шалимов (CaSH_2004) 24.05.12 03:09
Что вы к автору пристали! Человек честно разобрал проблему и красиво расписал! Всем бы так.
А по сути прикольно, осталось написать скрипт меняющий результат работы клавиш и сделать подарок тем кто не патит за работу :) Пусщай поплачут! Естественно с функцией отката :)
А то все есть желание погрохать базу или файлики потереть на диске - но это порча имущества как никак, несолидно! А тут бах - винда криво работает, вызывайте сисадмина или не пользуйтесь непроплаченным,
вобщем функционал нужно зашивать в DLL паралельно с полезным функционалом и вызывать
Несогласные пацифисты - прошу не пинать, просто иногда достают непорядочные клиенты!
35. Алексей Прилепский (IamAlexy) 24.05.12 05:08
вывод один: если покупаете ноут для себя и для работы - внимательно смотрите что покупаете...

а то понакупят по интернету фуфло всякое а потом жалуются.. вы еще макбук эйр купите и обсудите какая там клавиатура неудобная и как синей изолентой USB хаб прикрутить к крышке ноутбука...
36. anry mc (AnryMc) 24.05.12 06:49
(33) Tangram,
(32) Tangram,

Ещё раз проверил. Dell N7010 - комбинация Ctrl + Fn + Delete - РАЮОТАЕТ.

ОС Виндовс 7 (хотя єто наверно не важно)
В БИОСе функциональные клавиши включены (а не мультимедийные - как по умолчанию) - может в этом СЕКРЕТ?!!!!!
37. anry mc (AnryMc) 24.05.12 06:51
(35) IamAlexy,
Только сначалв нужно несколько лет составлять список чем пользуешься и что нужно - и всё равно всего не учтешь...
38. Максим Горбачев (Tangram) 24.05.12 09:31
(36) AnryMc,
тоже стоят Function Key по умолчанию - Ctrl + Fn + Delete не арбайтен.
39. Игорь Юндин (kereo) 24.05.12 10:14
Tangram.
Я немного не понял, так а в терминале это тоже работает(без изменения в реестре на сервере)?
40. Максим Горбачев (Tangram) 24.05.12 10:27
(39) kereo,
Работает, проверял. Только меняется реестр на локальной машине.
41. Misha ⁠ (Magister) 25.05.12 00:11
(32) Tangram, Dell Studio 1535.
Сам долго мучился, но вот на другом ноуте Dell нашел надпись Break на F12.
Проверил на своем - работает.
Попробуйте Ctrl-Fn-F12
И ничего нигде менять не нужно.
42. anry mc (AnryMc) 25.05.12 10:17
(38) Tangram,
А надстройка от DELL - стоит?
43. Максим Горбачев (Tangram) 25.05.12 11:06
(41) Magister,

На моем буке Fn + F12 - увеличение громкости. по Ctrl + Fn + F12 тоже увеличивает громкость и все.
44. Максим Горбачев (Tangram) 25.05.12 11:07
(42) AnryMc,
Да, установлена и настройка установлена также как у тебя на картинке - "Функциональная клавиша".
46. reyrtu retery (fasde1234) 25.05.12 15:35
Алло, здравствуйте, это Ремонт Ноутбуков?
- Да, здравствуйте.
- Не могли бы вы сказать свое отчество? Ну мне так, чисто поржать...
47. anry mc (AnryMc) 25.05.12 17:27
(46) fasde1234,
Я ваще тащусь от вашего чуства юмора...
48. Andrey Dyak (electronik) 28.05.12 13:42
49. Виталий Кириллов (KirilLoveVE) 24.10.12 06:41
У меня тоже ноутбук Dell, только модель Inspiron 1525 и клава вот такая:
Прикрепленные файлы:
50. Maxim Soroka (M_A_X_X) 24.10.12 12:47
Спасибо Tangram. Все доходчиво написано.
51. Владимир Snegnii (tradeagent) 06.06.14 14:33
Спасибо, очень толково написано!
52. German Derkachenko (SoftLeon) 26.10.14 17:00
Для Dell Inspirion 3542 клавиша прерывания - Ctrl+Fn+B, для прерывания поиска в конфигурации проверено
53. Максим Горбачев (Tangram) 26.10.14 21:54
(52) SoftLeon, на Dell Inspiron 7110 эта комбинация также не работает.
54. anry mc (AnryMc) 27.10.14 15:35
(53) Tangram,

посмотрите (36) AnryMc,
55. Максим Горбачев (Tangram) 27.10.14 17:07
(54) AnryMc,
мы же два года назад это обсуждали ), (38)
56. DUH Technolover (DJDUH) 27.10.14 17:43
Виртуальная клавиатура - слыхал))
57. Руслан Борисевич (R_G_B) 21.03.15 22:28
dell Inspiron 17R 5737 win 8.1
ни одна из описанных комбинаций не работает. Выручает только Ctrl+ScrLk на экранной клавиатуре.
58. Роман Артищев (romanoff8282@gmail.com) 17.08.15 18:47
(57) R_G_B, ДА, подерживаю ... аналогичный ноут ... прям вот уперся, специально все сочетания ктрл+фн+* протыкал ... ничего не помогает.
59. Ольга (ВРедная) 18.03.16 22:47
(9) AlexO, HP Pavilion dv6 сочетание ctrl + fn + shift слева не работает :( Буду пробовать правку реестра.
60. Алексей 1 (AlX0id) 20.03.16 16:32
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа