Почему на клавиатуре поменялись местами кнопки y и z
[Ответить]
Dimalish [20.12.2006 10:09] Z и Y поменялись местами на клавиатуре:
Что за вдруг такой? Было было все нормально. а теперь какие-то отдельные клавиши перепутались.
MacOS 10.4.7
Первичный английский.
Вторым русский и более никаких.
Где копать? Tartuga [20.12.2006 10:27] :
Прямо во всех программах? Leo [20.12.2006 10:38] :
Dimalish
Если меняются Z и Y, значит включена немецкая раскладка. Я бы покопал в настройках клавиатуры. Возможно, достаточно будет включить-выключить немецкую клаву. Dimalish [20.12.2006 10:39] :
TextEdit, BBEdit, Finder, Safari. да, похоже, везде.
Причем только на одном аккаунте. Lukas [20.12.2006 13:44] :
Немецкая раскладка. На немецких буках на самой клаве Y и Z поменяны местами изначально. [Ответить]
Почему на клавиатуре поменялись местами кнопки y и z
Всегда полезно протестировать свои программы на разных типах клавиатур, отличных от установленной на вашей машине, в частности, на иноязычных клавиатурах 1 . При этом запустить программу с русской раскладкой клавиатуры намного легче, чем съездить в Москву. Для такого тестирования можно установить иноязычные раскладки клавиатуры — небольшие файлы, позволяющие с имеющейся клавиатуры генерировать коды символов других языков.
Ниже вы найдете инструкции по установке иноязычных раскладок клавиатуры в английской версии Windows 2000.
Откройте Панель управления и щелкниет по значку Regional Options (Язык и стандарты), а затем в открывшемся окне перейдите на вкладку General (Общие). В списке Language Settings For The System (Языковые параметры системы) скорее всего будет отмечена лишь Western Europe and United States (Западная Европа и США) как раскладка по умолчанию. Установите флажки для Arabic, Cyrillic, Greek и Hebrew (Арабский, Кириллица, Греческий, Иврит) и щелкните ОК. Система попросит вставить диск Windows 2000 CD. после чего последует ее перезагрузка.
После перезагрузки вызовите Панель управления и щелкните по значку Keyboard (Клавиатура). Перейдите на вкладку Input Locales (Языки и раскладки). В разделе Installed Input Locales (Установленные языки ввода и раскладки клавиатуры) щелкните кнопку Add (Добавить) и по очереди добавьте следующие языки ввода, если они еще не установлены: Arabic (Egypt), English (United Kingdom), English (United States), German (Germany), Greek, Hebrew и Russian. В результате будут также установлены раскладки клавиатуры, ассоциированные с этими региональными параметрами.
Если раньше вы не устанавливали дополнительные раскладки клавиатуры и оставили в диалоговом окне Keyboard Properties (Свойства: Клавиатура) флажок Enable Indicator On Taskbar (Отображать индикатор на панели задач), то в системном меню вы увидите новый значок в виде квадратика с буквами EN (что означает English). Щелкнув его, можно переключиться на альтернативную английскую, арабскую, немецкую, греческую, русскую клавиатуру или клавиатуру для иврита. Эти изменения повлияют лишь на текущее активное приложение.
А теперь поэкспериментируем с программами KeyExamine и KeyExamineWithScroll . Запустите одну из них и переключитесь на раскладку English (United State>, если она еще не включена. Нажмите Shift + 3 — вы получите код KeyChar 0x0023 и символ #. А теперь переключитесь на раскладку English (United Kingdom) и нажмите ту же комбинацию клавиш. Теперь вы получите код 0х00A3 и символ £.
Переключитесь на раскладку German (Germany), нажмите Y и Z. Заметьте, что как коды KeyCode, так и KeyChar показывают символ Z, когда вы нажимаете Y, и наоборот. Это так, поскольку на немецкой клавиатуре эти символы поменялись местами.
Не переключая раскладку клавиатуры, нажмите клавишу +/= (при этом значение KeyCode будет равно 221, что соответствует Keys.OemCloseBrackets), затем клавишу А. В результате появляется символ а с акутом (острым ударением): á, соответствующий символу Unicode 0x00E1. В немецкой клавиатуре клавиша +/= называется мертвой. Если после мертвой клавиши нажать подходящий символ, получится символ со знаком ударения. С мертвой клавишей можно использовать любые гласные в верхнем или нижнем регистре: a, e, i, o, u или y (в немецкой раскладке последний символ водится клавишей Z). Если нажать +/= в верхнем регистре, затем гласную в любом регистре (в этом случае a, e, i, o, u, но не y), получится буква со знаком грависа, например: à.
Если после мертвой клавиши нажать согласную букву, напечатается отдельно знак ударения (´ или `), за которым следует сама буква. Чтобы напечатать только знак ударения, после мертвой клавиши нажмите пробел.
Аналогично, если на немецкой клавиатуре после клавиши ~/` нажать a, e, i, o или u, получится буква со знаком циркумфлекса: â (клавиша ~/`, нажатая вместе с Shift, не является мертвой — она генерирует символ °). Умляуты существуют в немецком языке только в нижнем регистре: ä, ö и ü. Эти символы генерируются клавишами «/‘, :/; и /[ соответственно.
До сих пор мы работали со значениями KeyChar, сопутствовавшими событиям KeyPress, из 8-разрядного диапазона. Это символы, определяемые одним или двумя стандартами, первый из которых это ANSI Х3.4-1986 или 7-разрядный ASCII:
| -0 | -1 | -2 | -3 | -4 | -5 | -6 | -7 | -8 | -9 | -A | -B | -C | -D | -E | -F | |
| 2- | ! | « | # | $ | % | & | ‘ | ( | ) | * | + | , | — | . | / | |
| 3- | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | = | > | ? | |
| 4- | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5- | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 6- | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7- | p | q | r | s | t | u | v | w | x | y | z | | | > | ~ |
Второй — это расширение ASCII, документированное в ANSI/ISO 8859-1-1987, обычно его называют просто «Latin 1»:
| -0 | -1 | -2 | -3 | -4 | -5 | -6 | -7 | -8 | -9 | -A | -B | -C | -D | -E | -F | |
| A- | ¡ | ¢ | £ | ¤ | ¥ | ¦ | § | ¨ | © | ª | « | ¬ | — | ® | ¯ | |
| B- | ° | ± | ² | ³ | ´ | µ | ¶ | · | ¸ | ¹ | º | » | ¼ | ½ | ¾ | ¿ |
| C- | À | Á | Â | Ã | Ä | Å | Æ | Ç | È | É | Ê | Ë | Ì | Í | Î | Ï |
| D- | Ð | Ñ | Ò | Ó | Ô | Õ | Ö | × | Ø | Ù | Ú | Û | Ü | Ý | Þ | ß |
| E- | à | á | â | ã | ä | å | æ | ç | è | é | ê | ë | ì | í | î | ï |
| F- | ð | ñ | ò | ó | ô | õ | ö | ÷ | ø | ù | ú | û | ü | ý | þ |
Эти наборы символов годятся лишь для языков, использующих только латинский алфавит. Для поддержки алфавитов других языков (включая китайские, японские и корейские иероглифы) была разработана 16-разрядная кодировка — Unicode. В общем случае программы Windows Forms, написанные на С#, не требуют дополнительных мер для поддержки Unicode. Например, длина типа данных char в С# равна 16 разрядам.
Если переключиться на русскую раскладку и нажать несколько клавиш, будут набраны кириллические буквы, коды символов для которых находятся в диапазоне 0x0410 – 0x044F, определенном в стандарте Unicode как Основной русский алфавит. Аналогично можно переключиться на арабскую, греческую, еврейскую клавиатуру и набирать символы алфавитов этих языков.
Если раньше вы не сталкивались с этой проблемой, у вас может возникнуть вопрос: а как иноязычные алфавиты и клавиатуры работали до Unicode, когда коды символов были только 8-разрядными? Если коротко: с этим была полная неразбериха.
Чтобы информировать программу об изменении раскладки клавиатуры пользователем, можно установить обработчики событий InputLanguageCbanging и InputLanguageChanged или переопределять методы OnInputLanguageChanging и OnInputLanguageChanged, показанные в таблице (имена событий в методах, делегатах и аргументов событий заменены многоточием):
События Form (выборочно)
| Событие | Метод | Делегат | Аргумент |
| InputLanguageCbanging | On. | . EventHandler | . EventArgs |
| InputLanguageChanged | On. | . EventHandler | . EventArgs |
Первым происходит событие InputLanguageCbanging, при этом объект InputLanguageChangingEventArgs содержит сведения о языке, на который хочет переключиться пользователь. Если программа не допускает такое переключение, присвойте свойству Cancel объекта InputLanguageChangingEventArgs значение true, иначе вскоре будет получено событие InputLanguageChanged.
Чтобы лучше разобраться в том, как это работает, взгляните на класс InputLanguage в пространстве имен System.Windows.Forms и класс CultureInfo в пространстве имен System.Globalization.
1 Диаграммы многих иноязычных клавиатур приведены в книге Nadine Kano «Developing International Software for Windows 95 and Windows NT». Эта книга вышла в издательстве Microsoft Press, а ее электронная версия доступна на Web-узле библиотеки MSDN (http://msdn.microsoft.com/librarу, раздел Development (General) and Internationalization).
| netlib.narod.ru | < Назад| Оглавление | Далее > |
Устранение непредусмотренной функции (F1-F12) или другого специального поведения с помощью клавиатуры Microsoft
При нажатии функциональной клавиши на клавиатуре Microsoft, она не работает должным образом. Кроме того, при нажатии клавиш некоторые клавиши не работают. Сюда могут входить следующие разделы:
- Клавиша NUM LOCK
- Клавиша INS
- Клавиша PRINT SCREEN
- Клавиша SCROLL LOCK
- Клавиша РАЗРЫВа
- Клавиша F1 в функциональных клавишах F12
Примечание. В этой статье описана и resovedа проблема на клавиатуре Microsoft, которая оснащена клавишей переключателя F LOCK, но при этом другие типы Keyborad могут не применяться к этой статье.
Причина
Это может происходить, если клавиатура оснащена клавишей переключения F LOCK, а клавиша F LOCK включена. В зависимости от модели клавиатуры следующие клавиши могут быть альтернативными функциональными клавишами:
- NUM LOCK
- ВСТАВКОЙ
- Клавиша PRINT SCREEN
- SCROLL LOCK
- ПЕРЕВОД
- F1 — функция F12
Клавиша F LOCK включает и выключает функции альтернативных функциональных клавиш. Альтернативной функциональной клавишей является клавиша с двумя возможными командами в зависимости от состояния клавиши переключения переключателя F LOCK.
Обходное решение
Чтобы обойти эту проблему, нажмите клавишу F LOCK. Клавиша F LOCK переключается между командами стандартной функциональной клавиши и командой Microsoft Keyboard Enhanced.
Дополнительная информация
Альтернативные командные клавиши предоставляют дополнительные возможности клавиатуры, предоставляя два режима команд для верхней строки стандартных клавиш F LOCK. Клавиши F LOCK и альтернативные командные клавиши доступны только на некоторых моделях клавиатуры, а доступные типы альтернативных команд зависят от модели клавиатуры. Клавиша F LOCK используется для переключения между стандартными командами, помеченными на передней стороне клавиш, такими как F1 или вставка, а также с помощью альтернативных команд, которые могут быть помечены с помощью клавиш. Если индикатор F LOCK включен, клавиша F LOCK включена, и эти клавиши выполняют стандартные команды. Если индикатор F LOCK выключен, дополнительные команды включены. Вы можете выбрать режим, с которым вы предпочитаете работать, или включить и отключить клавишу F LOCK для доступа к наиболее часто используемым командам. ФУНКЦИИ с помощью клавиши F1 и F12 имеют специальные альтернативные команды. Эти клавиши называются улучшенными функциональными клавишами. Улучшенные функциональные клавиши предоставляют быстрый доступ к часто используемым командам, которые могут повысить производительность. Эти команды обычно выводятся выше или по клавишам. В таблице ниже указаны сочетания клавиш, используемые по умолчанию, которые доступны для клавиатуры Microsoft. Однако вы можете переназначить многие клавиши с помощью клавиатуры Microsoft IntelliType Pro. Клавиатуры различаются в отношении того, какие дополнительные клавиши они предоставляют. Например, некоторые клавиатуры предоставляют клавиши для управления калькулятором, громкостью, домашней страницей Интернета, страницей поиска в Интернете, электронной почтой и т. д.
Улучшенная функциональная клавиша
F6: закрытие документа или файла в активном окне.
F8: пересылка сообщения электронной почты в активном окне.
Блокировка функции (F-блокировка)
Переключение между командами стандартных сочетаний клавиш (F LOCK Light On) и улучшенными командами клавиатуры Microsoft (F LOCK Light Off). Не закрывайте его, а также переключаться между режимами для повышения функциональных возможностей нажатия клавиш.
F1: Открытие справочной системы для активного окна.
F4: создание нового документа в программах, поддерживающих эту команду.
Office для дома
Запуск веб-браузера и переход на веб-сайт Microsoft Office. (Эта возможность недоступна на всех клавиатурах.)
F5: Открытие документа в программах, поддерживающих эту команду.
F12: печатает файл в активном окне.
F3: Отменяет предыдущее действие отмены.
F7: ответы на сообщения электронной почты в активном окне.
F11: сохранение файла в активном окне.
F9: отправляет сообщение электронной почты в активном окне.
F10: запуск программы проверки орфографии в активном документе, если эта функция есть в программе документа.
Отображение или скрытие области задач Office, которая была ранее отображена. (Эта возможность недоступна на всех клавиатурах.)
F2: Отмена предыдущего действия.
Чтобы загрузить последнюю версию программного обеспечения для клавиатуры, посетите веб-сайт корпорации Майкрософт по следующему адресу:
На клавиатуре поменялись местами клавиши. Что делать?
Когда печатаю какой либо текст на русском, все клавиши пропечатываются правильно. Однако если сменить раскладку на английскую то вместо z — печатается — y. Также произошли подобные изменения и с другими клавишами, особенно с теми что отвечают за знаки: -=+\. Но все это происходит только в английской раскладке. Помогите пожалуйста как это все исправить.
Голосование за лучший ответ
это на немецком так
новая клава поможет
над Вами коллеги пошутили)
это на немецкую раскладку похоже,
Клавиатуру не меняла в последнее время?
Надо проверить, какая именно раскладка выбрана для английского и поставить «английский, США» — вот пошаговая инструкция (это по-разному делается в XP/Vista/Windows 7) —
на примере русской раскладки, но шаги те же и для английской:
Нажми FN + W
отключи и подключи клаву к компу, сбросятся настройки и вот тебе счастье
