GithubHelp home page GithubHelp logo

swap_keys_on_ku-1255_manual's Introduction

Как свапнуть клавиши Fn/Ctrl на клавиатуре Lenovo Thinkpad KU-1255

Я пользуюсь ноутбуками ThinkPad на протяжении 3-х лет и мне не нравится расположение клавиш Fn/Ctrl (да, это не тру), их можно поменять местами через настройки BIOS.

Но внешняя USB-клавиатура Thinkpad этого не позволяет, как свапнуть клавиши?
Под катом подробно все расскажу.


Кратко: нужно вручную поправить прошивку и залить ее на клавиатуру. Мне подсказывали, что сменить клавиши поможет хоткей Fn+Shift+Esc, но у меня это не работало.
Решение было взято из этого Issue

Что нам понадобится?

  • ПК с Windows

  • HEX-редактор (у меня Notepad++)

Почти все действия я выполняю в Mobaxterm потому что zsh и мне так удобнее.

Нет гарантий того, что ваш девайс останется в рабочем состоянии.

  1. Скачиваем прошивку для самой клавиатуры.
    https://download.lenovo.com/pccbbs/options/tp_compact_usb_kb_with_trackpoint_fw.exe

  2. Смотрим хеш-сумму скачанной прошивки и сравниваем ее с оригинальной. Если вывод пустой, то все нормально.

certutil.exe -hashfile tp_compact_usb_kb_with_trackpoint_fw.exe SHA256 | awk '{ if (NR == 2) print $1 }' > hash_downloaded && echo 7116a3819ee094857d21e4671cb6cf953d582372126f0f6728f6b2421eda7bd4 > hash_src && diff hash_downloaded hash_src

Запускайте команду находясь в одной директории с файлом прошивки или указывайте абсолютный путь к ней

Вы можете использовать удобные вам GUI-инструменты или cmd/powershell

Как это выглядело у меня

  1. Открываем скачанный .exe файл прошивки через HEX-редактор, переходим к адресу 0x74004, меняем ba на f5 (Это заменяет Левый Ctrl на Fn)

В Notepad++: Меню Плагины, HEX-Editor, View in HEX. Хоткей для перехода Ctrl+G и снять флаг "...to Line"

Заменяем Левый Ctrl на Fn

  1. Затем переходим к адресу 0x740BA, меняем f5 на ba (Это заменяет Fn на Левый Ctrl)

Заменяем Fn на Левый Ctrl

  1. Сохраняем файл прошивки, проверяем хеш-сумму, которая должна получиться в итоге. Если вывод пустой, то мы все сделали правильно.
certutil.exe -hashfile tp_compact_usb_kb_with_trackpoint_fw.exe SHA256 | awk '{ if (NR == 2) print $1 }' >> hash_downloaded && echo 123143092dab578550c87a62526b07a6c5f06c047f2455be87971aa51577e300 >> hash_src && diff hash_downloaded hash_src
  1. Подключаем клавиатуру, запускаем exe-шник с прошивкой, жмем Start. Видим сообщение об успешном апдейте и переподключаем клавиатуру к ПК.

Дайте права на исполнение программе, если вы скачивали ее через консоль

  1. Радуемся свапнутым клавишам. Т.к. мы заливали прошивку именно в саму клавиатуру, то этот мод будет работать на любой ОС и на любом устройстве, сам я пользуюсь этой клавой на Debian.

P.S. Для больших любителей хардварного DIY - один канадский леново-форумчанин запилил модификацию дорожек на самой клавиатуре.

swap_keys_on_ku-1255_manual's People

Watchers

sdnv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.