Category: компьютеры

манул

(no subject)

К дню программиста. Уже вторую (если не третью) неделю у меня идефикс написать переключалку клавиатуры моей мечты (для виндов, т.к. под ними я живу). Пишу на AHK (AutoHotKey). И вот есть один затык, который лично для меня не важен. но заради универсальности... Короче, никак не удаётся под Windows 10 определить текущую раскладку клавиатуры для _консольного_ приложения. Нашёл было способ, но он базируется на недокументированной функции WinAPI GetConsoleKeyboardLayoutName, которая работала в Windows 7, а в Windows 8 и тем более 10 уже не работает. И главное, гугленье (многодневное!) ничего не даёт - все только жалуются, что, мол, никак, и никто не знает ответа. А те кто знает, ЧСХ, молчат. А то, что есть те, кто знает - без сомнения, т.к. всякие там Punto Switcher'ы нормально определяют раскладку и у консольных окон.

И ведь не то чтоб мне это было сильно нужно - я использую FAR с ConEmu, а он сам эмулирует консоль и там можно использовать обычный способ для обычных гуёвых окон. Но заело меня, хочу разобраться. Маньячу вот потихоньку, чуть ли не всё свободное время... Сам знаю, что дурью маюсь, но заело.
манул

(no subject)

К предыдущему. В конечном счёте вырисовался такой cmd-файл для того, что мне нужно (причём удалось-таки обойтись без использования встроенного скриптового языка, только ключами командной строки):

@ECHO OFF
SET avidemux="C:\Program Files\Avidemux 2.6 - 64 bits\avidemux.exe"
SET audioCodec="Lame"
SET audioOutputFormat="MP3"
SET videoCodec="Copy"
SET videoOutputFormat="MKV"
IF NOT EXIST !\NUL MD !
FOR %%F IN (%1) DO %avidemux% --force-alt-h264 --load %%F ^
  --audio-process --audio-codec %audioCodec% --output-format %audioOutputFormat% ^
  --video-process --video-codec %videoCodec% --output-format %videoOutputFormat% ^
  --save !\%%F --quit

Сразу говорю: mencoder не пошёл - не смог он просто скопировать видеопоток, несмотря на явное указание - стал перекодировать его, а это мне не нужно (время!). Так что мой выбор avidemux, видимо, правильный. (Во второй строке можно avidemux.exe заменить на avidemux_cli.exe, если нужен именно консольный процесс).

Так что мы, виндузятники, тоже умеем решать проблемы :P. Просто мы не любим, когда они вообще возникают на ровном месте. У линуксоидов вырабатывается рефлекс обходить свои баги, даже не замечая того. У нас, виндузятников, в принципе то же самое. Но я лично не вижу смысла менять шило на мыло. Я вполне счастлив с Виндой (на работе - даже XP) и менять её на ничуть не менее глючную (я на этом категорически настаиваю!) систему не намерен, тем более что глюки там другие и другая идеология отношения к пользователю (которая, как я уже писал, просачивается и в Винду - моя возня с упомянутой программой тому пример).

А проблемы с данной програмой - в пользовательском интерфейсе. Казалось бы, чего проще: сделать окошко, в которое drag-n-drop'ом можно накидать файлов, выбрать для них всех один и тот же набор параметров, задать подкаталог для вывода и нажать ОДНУ кнопку "сделай мне хорошо". Ведь все составляющие для этого уже есть (и drag-n-drop программа уже понимает), и работы там всей от силы на два дня (я, когда программировал на Дельфи, за два дня такое бы точно сваял), но нет, надо огород городить, встраивать скриптовый язык и прочее... Эх вы, юниксоиды, никогда вы не отучитесь мыслить только командной строкой, а GUI воспринимать только как обёртку к командной строке...

манул

(no subject)

Кстати, если кто-то обратил внимание: в последнее время я стал часто писать без буквы "йо", хотя раньше всегда писал с ней. Дело просто в том, что я недавно купил себе планшет и теперь часто пишу с него (вот и сейчас). А на его виртуальной клавиатуре этой буквы нет, к моему большому сожалению. Я был и остаюсь фанатом этой буквы :)

Кстати, та же фигня с текстами на эсперанто: нет возможности вводить буквы с диакритическими знаками ("шляпками"), поэтому я часто стал писать в x-системе (cx, sx и т.д.).

Может быть, когда-нибудь попробую хакнуть раскладку клавиатуры, но там Андроид, в котором я ничего не понимаю, да и "староват я стал для таких полетов" (c) Кар Карыч.