to post messages and comments.

Достал с полки MOCUTE 039, посмотреть, как на самом деле обстоят дела с глупыми геймпадами в Windows и эмуляцией XInput.

При подключении, его тут же обнаружил Steam и замапил на него какие-то действия, но, впрочем, невпопад.
Хорошая новость (вернее, успешно забытая старость) — generic controllers Steam тоже поддерживает. Выключил Steam не время экспериментов, вернусь к нему позже.

Плохая новость — виндовый диалог, который должен показывать состояние пада (нажатые кнопки) — ничего не показывает.
Хорошая новость — есть годная программка для этого: Pointy's Joystick Test
И ещё вот такая штука для браузера: html5gamepad.com

Плохая новость — виндовая программка и сайт, использующий Gamepad API, показывают два разных маппинга и оба кривые. (Порядок кнопок не стандартизирован, плюс, возможны странности имплементации web gamepad api.)
Впрочем, главная цель — с XInput подружить, а это решится в процессе.

Но сперва отвлекусь и упомяну другую программку: antimicro
Это как старый joy2key, только лучше. Хоть в данном случае не очень полезен, т.к. позволяет мапить только клавиатуру и мышь. Интересная особенность — выставленный напоказ SDL 2 Game Controller Mapping String. Вот бы ещё базу маппингов вели...

1.
Возвращаемся к теме. Самое известное решение — x360ce.com
Посмотрел, пришёл к выводу что это оверинжиниринг поверх костылей.
В принципе, я бы не обломался его использовать — не так много игр играю, и в любом случае что-то настраивать приходится — меняются лишь инструменты. Есть дополнительные плюшки вроде грамотной настройки аналогов. Главная заморочка — в подборе хуков под каждую игру. Но глядя на имеющиеся пресеты — вариантов не так много.
Но понятно, что решение очень костыльное и недовольство объяснимо. Идём дальше.

2.
Находим XOutput (самый активный форк на данный момент)
Он добавляет в систему виртуальный боксовый пад. Никаких хуков непосредственно к игре. Простое решение, которое должно работать везде. Возможны, правда, и свои подводные камни.
Используется драйвер-эмулятор из состава ScpToolkit — тот же, который используется в DS4Windows для DualShock.
Но если DS4Windows содержит, помимо прочего, фичу сокрытия физического контроллера (чтобы избежать двойного ввода в тех играх, которые могут увидеть и физический и виртуальный контроллеры), то XOutput — весьма примитивная программа. На html5gamepad.com можно увидеть ввод с двух контроллеров одновременно.

3.
Выключаю XOutput, запускаю Steam снова.
Settings > Controller > General Controller Settings > Detected controllers > мой контроллер > Define Layout.
Всё. Теперь он должен без проблем работать везде в Стиме.
Дальше под конкретую игру кастомизируется через меню этой игры, при необходимости.
Игры не из Стима можно тоже добавлять в библиотеку (Games > Add a non-Steam game to my library...) — при запуске из Cтима они тоже получают оверлей вместе с поддержкой контроллера.

(Поддержка любых контроллеров в Steam, которая пришла вместе с фирменным Steam Controller — это незаметная революция, кмк. Очень круто, особенно если разработчики игр начнут его полностью поддерживать и выставлять actions и action sets в API.)

Подводя итоги:
* чтобы просто работало — используйте Steam.
* не хотите Steam — используйте XOutput. Но дотянуть его до уровня DS4Windows потребует много пулл-реквестов.
* не Steam, мало игр, не лень копаться в настройках — x360ce.

P.S. По древней китайской традиции, аккум в китайском геймпаде перестал держать заряд за год лежания на полке.

После #2884467 меня окончательно достал SourceTree, и я поставил GitKraken.
После недели использования:

Что понравилось:
* Сделано для людей.
* Не пугает диалогами с выхлопом консоли.
* Drag'n'drop — в т.ч. легко управлять ветками не переключаясь между ними.
* Squash называется squash.
* Показывает stash'и в дереве.
* Автоматически делает и применяет stash когда нужно.
* Встроенный юзабельный 3-way merge для разрешения конфликтов.
* Можно добавлять в staged изменения построчно. Чуть менее удобно, чем в GitHub Desktop, но всё же.
* Не пушит теги без спросу.
* Интеграция с GitHub и BitBucket.
* Активные блог разработчика и канал на ютубе.

К чему можно придраться:
* TreeView модифицированных файлов свёрнут по умолчанию, что нивелирует его удобство и приходится использовать обычный FullPath.
* Дерево более гнутое, чем могло бы быть — часто изгибает более значительную ветку, отдавая приоритет менее значительной или stash'у. (Похоже, это проявляется на старых ветках, а то, что сделано уже в самом GitKraken — отображается нормально. Странно.)
* Auto-Fetch это хорошо, но было бы неплохо ещё отображать как-то, что он выполняется успешно или же нужно взаимодействие с пользователем (ввести пароль от ssh ключа).
* Сворачивание меток бранчей в дереве коммитов. Если моя ветка и мастер совпадают, то я не могу найти мастер визуально. (Я знаю где он находится или могу выбрать его в левой колонке, просто мелкий раздражающий фактор.)
* Любимый всеми Electron — 300+ МБ оперативной памяти.

Отправил несколько фидбэков — есть удобная форма для этого в программе. Но без платной подписки они могут и в dev/null отправляться, кто знает. Можно было бы, конечно, попробовать Pro Trial активировать и повторить... Ну или в slack заглянуть.

Общее впечатление:
В целом сейчас это лучший из GUI клиентов git под Windows. Заменит мне и GitHub Desktop и SourceTree. Можно рекомендовать всем, в т.ч. хорошим людям™, если Electron и "Free for non-commercial use" не напрягают.

Одно починил (может быть) — другое доломал окончательно.

fix iOS 11 textarea issue in dialogs
Корёжит страницу в вебе.
При открытии картинок в ленте — перебрасывает в начало страницы.

SourceTree — самый фичастый гуй для систем контроля версий под Windows.
Но одна деталь просто вымораживает.
Он внезапно начал достаточно часто обновляться. При этом каждое обновление требует авторизации зачем-то. При этом форма логина сделана по уродски — сначала появляется поле для логина, Next, потом только пароль. (Почему это говно повсюду копируют.) И теперь форма логина по "Use existing account" вообще не грузится. Та-да!

youtube.com

В титрах засветился Shinji Aramaki. И ещё Paul Chadeisson — дизайнер, один из создателей Strike Vector, artstation.com (Кажется, единственный не японец в титрах в том, что касается арта.)

Другие две короткометражки (увы, не аниме):
youtube.com
youtube.com

2.17.1 — Promises edition

* порефакторил эмбеды немного (692 additions, 950 deletions). Now 8% more DRY and with 300% more Promises†
* Яндекс.Музыка

(†) согласно экспертной оценке‡
(‡) получено путём тщательного анализа верхнего внутреннего покрытия рабочего помещения.

В процессе рефакторинга мог что-то упустить. Сообщите, если что-то сломалось.

Виджеты Яндекс.Музыки такие же тяжёлые как и сам сайт. Сделал Click to show по умолчанию.

greasyfork.org

В некотором роде автор xkcd поддерживает ситуацию (см. картинку) тем, что предлагает эмбеддить комикс путём хотлинка на картинку, без текста и даже без номера. (Хинт: ссылка на картинку содержит заголовок, который ищется в архиве на сайте.)
В принципе, оно и понятно — надо же чем-то на сайт людей привлекать.
Зато html очень простой, no bs. И в RSS тоже всё есть...

greasyfork.org
2.16.7
* xkcd

Нужно где-то одолжить компрессор и пистолет для продувки.
Есть у кого-нибудь?
Прокат вижу только для промышленных махин, по цене за несколько дней почти как новый компактный купить.
"Взять на прокат" в Леруа? Есть опасения, что в результате эксплуатации его будет сложно вернуть как новый.

2.16.2

День рождения юзерскрипта. Первую версию я выложил в ночь на второе сентября год назад. #2845132

В новой версии:

* теги на странице /post — кликабельные, добавляются к╱убираются из первой строки поста;
* старая форма ввода нового сообщения — в общих лентах (как раньше) и на своей странице (по умолчанию выключено);
* ссылка Post ведёт на /post — поп-ап отключается (по умолчанию выключено).

greasyfork.org