Posted:
| Tags:
ddcutil,
desktop,
interface,
linux,
midi
目的
KORG nanoKONTROL2 のような USB MIDI controller を、Linux desktop の物理操作盤として使いたいのでGolangで作った。
midi-switch
MIDI event を ALSA sequencer で読み、ddcutil でディスプレイの入力ソース、明るさ、コントラストを操作し、必要なら pactl で音量も操作する。
構成は単純にする。
USB MIDI controller
-> ALSA sequencer event
-> small daemon
-> ddcutil / pactl
-> display input / brightness / contrast / volume
できた感想
リモートワークで窓際で作業してるのですが時間帯や天気によってディスプレーの明るさやコントラストを変えたくなるのですが
MIDIのスライドバーとかボリュームボタンで変えられて嬉しいです
あとラズパイの検証時、ディスプレー入力をちょいちょい変えたくなるので便利になった(稀に起動初期の画面がみたい事がある)
方針
初期実装では MIDI library へ直接つながず、aseqdump の stdout を読む方式で十分に価値がある。
理由:
aconnect -l と aseqdump の結果をそのまま調査ログとして使える- MIDI button、knob、slider の note / controller 番号を目視で確定しやすい
- ALSA sequencer port が見えていれば Go や shell からすぐ扱える
- 仕様が固まってから gomidi / RtMidi などへ移行できる
ddcutil 側も、まずは ddcutil detect、getvcp、setvcp を外部 command として呼ぶ。
daemon 内で DDC/CI protocol を直接実装しないことで、モニター差分の切り分けを ddcutil に寄せられる。
Read more...Posted:
| Tags:
interface,
kde,
keyboard,
labwc,
wayland
Wayland desktopでキーバインドをOS横断に寄せる設計メモ
目的
macOS、Windows、Linux で、アプリ起動、ウィンドウ移動、タイル配置、仮想デスクトップ移動の操作感を近づけたい。
ただし Linux Wayland では、X11 時代のように外部プロセスから任意ウィンドウを横断操作する前提にしていない。
Wayland では compositor が入力とウィンドウ管理の権限境界になる。
このため、キーボードの低レイヤ変換とウィンドウ操作を分ける。
一旦考えた基本方針
- CapsLock/Ctrl や layer 的なキー変換は
keyd に寄せる - アプリ起動、ウィンドウ移動、最大化、タイル配置は compositor / window manager 側に寄せる
- KDE Plasma Wayland では KWin global shortcut と
.desktop entry を使う - labwc では
~/.config/labwc/rc.xml の native action を使う - package install、service enable、設定配置は Ansible などの構成管理に寄せる
keyd は「キーを別のキーとして見せる」層に留める。
アプリ起動やウィンドウ制御まで keyd でやろうとすると、Wayland の compositor 境界を迂回する設計になりやすい。
責務分離
| 領域 | Linuxでの担当 | 理由 |
|---|
| CapsLockをCtrlにする | keyd | session / compositor 非依存にしたい |
| Hyper風の修飾キー | keyd または keyboard firmware | 入力層で完結させたい |
| アプリ起動 | .desktop entry / compositor shortcut | desktop environment の仕組みに乗せる |
| ウィンドウのhalf snap | KWin / labwc native action | Wayland では compositor が正規の管理者 |
| 物理ディスプレイ間移動 | KWin / labwc native action | monitor layout を compositor が持つ |
| 同一アプリ内のwindow cycle | compositor native action | 外部プロセスで window list を触らない |
KDE Plasma Wayland
KDE Plasma Wayland では、KWin の global shortcut と .desktop entry を中心にする。
Read more...Posted:
| Categories:
macOS
| Tags:
interface,
macOS
環境
デスクトップ環境のメモ
コピペを繰り返す用のツール
Clipy - Clipboard extension app for macOS からダウンロードして起動。変更した設定
参考
「Clipy」でMacのクリップボードを拡張、チョイ効率化してみる - ケータイ Watch
初期セットアップ
仮想デスクトップ(スペース)を増やす
- 5個まで増やす
- キーボードショートカット設定
- [システム環境設定]->[キーボード]->[キーボードショートカット]->[Mission Control]
- ctrl + command + H を左スペース
- ctrl + command + L を左スペース
– ctrl + command + Y から ctrl + command + p までを各デスクトップに割り当て
ディスプレイごとに個別の操作スペースをオフにする
ログアウトが必要
[システム環境設定]->[デスクトップとDock]->[ディスプレイごとに個別のスペース]をオフにする
自動的にスペースを入れ替える機能をオフにする
なぜかスペースが勝手に入れ替わるのでオフにする
[システム環境設定]->[デスクトップとDock]->[Mission Control]->[最新の使用状況に基づいて操作スペースを自動的に並べ替える]をオフにする。
macでSlackにコピペするとクォーテーションがおかしくなる
なんとmac側の設定でそういうのがある…
Slackにコードを貼り付けたら引用符が勝手に変わってしまいます
シェルスクリプトをダブルクリックで
https://qiita.com/hkwid/items/c7453abac6aa6449e50b
cronつかう
cronコマンドにパーミッションが必要
https://admin-it.xyz/operation-efficiency/mac-cron-does-not-work-well/
【システム環境設定】->【セキュリティとプライバシー】->【フルディスクアクセス】で、/usr/sbin/cronにフルディスクアクセスを付与
パスの指定 /usr/sbin/cron の指定がしづらいが、shift+ command + g でディレクトリが指定できる
Read more...