OS

提供:senooken JP Wiki
2024年12月6日 (金) 16:23時点におけるSenooken (トーク | 投稿記録)による版 (Other 破損App)

パソコンのOSごとの記録。

iOS

Settings

Keyboard

[Settings]-[General]-[Keyboards] が設定項目。

Gboard

スマホの日本語入力 目からウロコの楽々ワザとは? | NIKKEIリスキリング

iOS版のGboardはAndroid版と異なり機能が劣る。標準キーボードを使ったほうがいいらしい。

Space

ASCII.jp:iPhoneで常に半角スペースを入力できるようにする方法

  • [ALL KEYBOARDS]-[Smart Punctuation]=On: Off推奨。
  • [KANA]-[Smart Fullwidth Space]=On: =Off推奨。

これで常に半角スペース入力になる。

瞬間切替

iPhoneは裏ワザだらけ、英数字と記号を思い通りに入力 スマホ日本語入力再入門(3) - 日本経済新聞

英語キーボードで1文字だけ数字や記号を入力したいことがある。

その場合、[数字切替] キーをドラッグしたまま、入力したいキーで離す。すると、数字や記号を1文字だけ入力して、英字モードに戻る。切替の手間が省けて楽。

Other

iPhoneは裏ワザだらけ、英数字と記号を思い通りに入力 スマホ日本語入力再入門(3) - 日本経済新聞

  • [ALL KEYBOARDS]-[Auto-Punctuation/自動大文字入力]=On: Off推奨。英語キーボード切替時に先頭が自動で大文字になる機能。英語圏の人なら便利だが非英語圏なら邪魔。
  • [ALL KEYBOARDS]-[Auto-Correction]=On: Off推奨。一般的な綴でない場合、誤入力と判断され、変換のデフォルトが修正候補になる。
  • [ENGLISH]-["." Shortcut]=On: On推奨。英語キーボードには.がない。これがオンだと、スペースのダブルタップで.を入力できる。

Network

テザリング

出典:

無通信状態が90秒ほどしばらく続くと省電力設計のため、自動的にオフになる。これが困る。Andriodは自動オフにはならない。

いくつか対策がある。

  1. [Personal Hotspot] (インターネット共有) 画面の表示を維持。自動ロックも解除しておく。
  2. USB/Wi-FiではなくBluetooth経由にする。⇢Bluetooth接続はMontary以上で不能。

Bluetooth経由のほうが、範囲が短く、電力消費量も抑えられるので、Bluetoothがよさそう。他にはUSB接続。

Bluetooth接続はできなくなっているので、画面表示か通信しておくしかない。

Instant Hotspot

出典:

Bluetoothでのテザリングはできないものの、類似機能のInstant Hotspotで実現できるらしい。

いくつか条件がある。

  • iPhone/iPadでインターネット共有 (Personal Hotspot) 対応。
  • 全デバイスで同じApple IDでiCloudにログイン。
  • 全デバイスでBluetoothオン。
  • Wi-Fiオン.

[Personal Hotspot]-[Allow Others to Join] をオンにしなくても自分だけ接続できるのが利点。逆にいうとこれくらい。Bluetoothをオンにしないといけないぶん、余計な通信処理が入る。使わなくていい。

Bluetooth

出典:

MacS v12.1 (Monterey) からiOSでのBluetooth接続が不能になった。

Wi-FiかUSBで接続する。実務的には困らないはず。

Saving

通信を節約する方法がいくつかある。

  1. Wi-Fiを使う場合、Wi-Fiのアクセスポイントごとの設定で [Low Data Mode] がある。これをオンにすると節約できる。
  2. SIMの場合、[Cellular Data Options]-[Low Data Mode] がある。[Low Data Mode]=onにすると、自動更新や写真の動機などのバックグラウンドタスクが停止される。
  3. ブラウザーのコンテンツブロッカー。例えば、1Blocker。メディアを無効にするカスタムルールで、大幅に節約できる。
    1. [Advanced customize]-[custom rule]-[new rule]
    2. .+/Block all type resource=off/

2 番目に、Safari をコンテンツ ブロッカーと一緒に使用することをお勧めします。私は 1Blocker を使用していますが、メディアを無効にするカスタム ルールを作成して、帯域幅を大幅に節約できます。[高度なカスタマイズ]、[カスタム ルール]、[新規ルール] の順に進み、正規表現に.+(ドットとプラス記号はすべての URL に一致します) を入力し、[すべてのタイプのリソースをブロック] をオフに切り替え、画像、フォント、RAW、SVG、メディア、ポップアップをオンに戻します。保存します。これにより、これらの特定のリソース タイプをすべて読み込む要求がグローバルにブロックされ、帯域幅を大幅に節約できます。

Sound

出典: iPhoneの音量を調整する - Apple サポート (日本)

音量は左サイドボタンで上下できる。左上のスイッチがマナーモードの切替になっている。消音モードと呼んでいる。

Mail

複数アカウントを使いこなす、iPhoneメールアプリの知られざる便利機能 | 日経クロステック(xTECH)

iPhoneのメールアプリは標準のMailを使うのがよいだろう。K-9がないから。複数アカウントにも対応しているが、設定が若干特殊。アプリ設定からではなく、iOS本体の設定から行う。

App

いくつか必要なアプリがあるので整理する。

Switcher

出典: iPhoneで開いているアプリを切り替える - Apple サポート (日本)

アプリスイッチャーという機能で、現在実行中のアプリを変更可能。Androidはホームの上スワイプ、右ボタンだった。iOSはホームのダブルクリック。

KeePass

パスワード管理アプリ。iOSは別になる。KeePass XCはQtを使っているからビルドできるはずなんだけど。

iOS 向けの Keepass クライアントの備忘録 | hyt adversaria」を見る限り、KeePassiumが良さそう。

Camera/Video

Camera

出典: iPhoneのカメラ解像度を変更し写真/動画サイズを軽くする便利技 – 格安SIM初心者教室

iPhoneのデフォルトのカメラは解像度が高すぎて写真のファイルサイズがかなり大きい。変更できない。せいぜいインカメラで撮影するくらい。

LINE Cameraが定番のカメラアプリらしい。こちらは解像度を柔軟に設定できる。

[Settings]-[Saving]-[Resolution]-[Medium] に変更。これでデフォルトの半分になる。

iPhoneのカメラ解像度を変更し写真/動画サイズを軽くする便利技 – 格安SIM初心者教室」はもっと小さい。こちらがいいだろう。

Low Cameraはもっと小さいが、小さすぎて細かい文字が見えなくて困る。調べた。

2024|無音カメラアプリおすすめランキング11選|無料|高画質 | Good!Apps」が参考になった。

Simple Camがよかった。基本はこの1.2MPか0.3MP。外観だけでいいならLowCameraとか。

rank OS name url Free level MP resolution px size KB square 備考
4 iOS LowCamera Very Low 0.05 144x144 25 x
4 iOS LowCamera Low 0.1 360x360 50 x
4 iOS LowCamera Medium 0.2 480x480 100 x 画質が低すぎる。
4 iOS LINE Camera Medium 2 1512x1512 1024 x 画質をもう少し落としたい。
2 iOS 低画質カメラ - 動画のみ。
3 iOS 0.3MPCamera 480x640 - いまいち。正方形がない。
3 iOS 0.3MPCamera 240x320 - いまいち。正方形がない。
3 iOS 0.3MPCamera 120x160 - いまいち。正方形がない。
3 iOS default Photo 12 3024x4032 2300 x
3 iOS default Photo 9 3024x3024 2600 x
3 iOS Capera Max 12 3024x4032 2300 - 正方形がない。
3 iOS Capera FullHD 1920x1080 -
3 iOS Capera HD 1280x720 -
3 iOS Capera VGA 640x720 -
3 iOS Capera CIF 352x288 -
3 iOS Lo-Fi Cam https://apps.apple.com/bz/app/lo-fi-cam/id1607751695 192x144 - 正方形がない。
3 iOS Lo-Fi Cam https://apps.apple.com/bz/app/lo-fi-cam/id1607751695 352x288 - 正方形がない。
3 iOS Lo-Fi Cam https://apps.apple.com/bz/app/lo-fi-cam/id1607751695 480x360 - 正方形がない。
3 iOS Lo-Fi Cam https://apps.apple.com/bz/app/lo-fi-cam/id1607751695 640x480 - 正方形がない。
3 iOS Lo-Fi Cam https://apps.apple.com/bz/app/lo-fi-cam/id1607751695 960x540 - 正方形がない。
3 iOS Lo-Fi Cam https://apps.apple.com/bz/app/lo-fi-cam/id1607751695 1280x720 - 正方形がない。
5 iOS Simple Cam 0.3 480x480 100 x 必要な範囲を網羅できている。
5 iOS Simple Cam 1.2 960x960 200 x 必要な範囲を網羅できている。
5 iOS Simple Cam 1.9 1200x1200 300 x 必要な範囲を網羅できている。
5 iOS Simple Cam 5 1936x1936 800 x 必要な範囲を網羅できている。
5 iOS Simple Cam 8 2448x2448 1500 x 必要な範囲を網羅できている。
5 iOS Simple Cam 12 x 必要な範囲を網羅できている。
3 iOS MiraCamera 9 3024x3024 2700 x いまいち。
3 iOS Foodie standard 3 1920x1920 1600 x いまいち。
3 iOS SODA standard 3 1920x1920 1800 x いまいち。
2 iOS Pro Camera - x
1 iOS Q Camera x -
1 iOS AutoCam x -
2 iOS SkyCamera 0.8 750x1000 -
2 iOS StageCamHD 1280x720 x
2 iOS StageCamHD 1920x1080 x
2 iOS StageCamHD 3024x3024 x
2 iOS StageCamHD 2592x1936 x
2 iOS StageCamHD 3264x2448 x
2 iOS BeautyPlus x
Video

標準のカメラアプリで正方形の動画の撮影方法。photoで正方形にして、撮影ボタン長押しで正方形で動画撮影可能。右にスライドでモードロックとのこと。

カメラアプリの設定で、 [Preserve Settings]-[Creative Controls] でデフォルト正方形を維持できる。

Record Square Format Videos on iPhone with These Apps

動画撮影アプリのおすすめ人気ランキング【2024年】 | マイベスト

正方形の動画撮影アプリ。

Clips

Apple純正の動画作成ソフト。

Favorite

写真も動画も基本はFILTISTでOK。ただし、ズーム不能なので、ズーム時だけ別アプリを使う。

  • LISTIST=動画・写真=720x720ズームなし。
  • MONOV=動画720x720ズーム。
  • Simple Cam=写真ズーム。

通常はLISTISTで動画も写真も撮影。ズームが必要な場合だけ、MONOV/Simple Cam。

ズーム用を1アプリで対応できればよかったのだが、うまいのがない。LINE Cameraが近かったのだけど、動画が最大30 s。惜しかった。しかたない。

LINE Camera

正方形で写真と動画に対応。サイズも大きすぎない。ズームも対応。ただし、動画は30 sまで。これが惜しい。

QR

Ref: QRコードで開いたWEBサイトの履歴がiPhoneで残らない問題、これで解決 | マイナビニュース.

QRコードを読み取ると、QRコードリーダーアプリ内ブラウザーで開けれて、Safariの履歴に残らない。開いた後に、右下でSafariで開き直すと、タブで開き直せる。基本はすぐ開き直したほうがいい。

いや、標準のQRコードリーダーで開いた後に、Safariで開き直すと、状態が違うのか、吉野家のレシートアンケートなどはエラーになる。サードパーティーアプリを使ったほうがいい。

QRコードアプリおすすめ2選&ランキングTOP10 無料・人気のアプリを編集部が厳選!【2024年】 | iPhone/Androidアプリ - Appliv

QRQRがいい。

Windows

Other

高速スタートアップ

出典:

電源オフにしているのに、バッテリーが何故か減っている。原因は [高速スタートアップ] とのこと。

[コントロールパネル]-[ハードウェアとサウンド]-[電源オプション]-[電源ボタンの動作を選択する]-[現在利用可能ではない設定を変更します]-[シャットダウン設定]-[高速スタートアップを有効にする (推奨)] をオフにする。

勝手にスリープする

システムがすぐにスリープしてしまうのは、「システム無人スリープタイムアウト(System unattended sleep timeout)」機能が働いているためだと考えられる。これは、システムがWOL(Wake On LAN)や何らかのイベントなどで、自発的にスリープから起動した場合、そのまま何も操作せずに放っておくと、一定時間後にまた自動的にスリープ状態に移行するための機能である。

 システム無人スリープのタイムアウトを設定する項目を有効化するには、コマンドプロンプトで以下のpowercfgコマンドを実行すればよい。再起動などは必要なく、[電源オプション]にタイムアウトを設定する項目が表示される。

powercfg -attributes SUB_SLEEP 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 -ATTRIB_HIDE

これだとダメ。

一応元に戻す。

powercfg -attributes SUB_SLEEP 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 +ATTRIB_HIDE

Windows10で勝手にスリープになる現象を防ぐための対処法 | TechMemo

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0

このレジストリーの値を0から2に変更する。

システム無人スリープタイムアウトが表示されるので0にするとなくなる。らしい。

そのほか、ディスプレイの電源を切るのはやはりだめ。パソコンの省エネ機能が働いて、処理が止まる。

Startup

Microsoft TeamsなどOSの起動時に勝手に自動起動するアプリがある。制御する方法がいくつかある。

[設定]-[アプリ]-[スタートアップ] で制御できる。大半はこれで制御できる。

ほかに、Explorerのshell:startupか%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupにショートカットがあると、それでも自動起動する。

録音

Windows10で録音がしたい!ボイスレコーダーを使用した音声の録音方法を解説

プレインストールのボイスレコーダーで録音できる。

Theme

Ref: デスクトップのテーマを変更する方法<Windows 11>|サポート|dynabook(ダイナブック公式).

OSのテーマでデフォルトのライト・ダークが決まる。

[スタート]-[設定]-[個人用設定]

Hardware

Keyboard

Ref: FMV Q&A - [Windows 11 キーを押し続けたときに、同じ文字が連続して入力される速度を調整する方法を教えてください。 - FMVサポート : 富士通パソコン].

[コントロールパネル]-[キーボード]

Mouse

[コントロールパネル]-[マウス]

  • ポインター オプション
    • ポインターの速度を選択する (デフォルト=左から6 (6/11))
    • ☑ポインターを自動的に既定のボタンの上に移動する。
    • ☑Ctrlキーを押すとポインターの位置を表示する。

コントロール パネル\すべてのコントロール パネル項目\コンピューターの簡単操作センター\マウスを使いやすくします

  • マウスポインター

Explorer

[フォルダーオプション]-[表示]

  • ファイルおよびフォルダー
    • ☑チェックボックスを使用して項目を選択する。
    • ファイルとフォルダーの表示
      • ☑隠しファイル、隠しフォルダー、および隠しドライブを表示する。
      • □登録されている拡張子は表示しない

Mac

System

Mouse

マウスポインター速度 macデフォルト4/10。

DiscreteScroll

Macのマウスホイールのスクロールは加速度に応じる。高速に動かすと移動量が増える。指が疲れる。

加速度を無視して、Windows同様に一定量の移動にしてくれるのが、DiscreteScroll。

Applications

Macの実行ファイルは.appファイル。これは/Applicationsに配置されている。Laucnhpadはこのディレクトリー内を表示している模様。

lanchctl

Macでシステム起動時の処理を管理する仕組み。Mac OS 10.10以上で導入されている。

GUIなど、システムグローバルで環境変数を反映させたい場合、ここに登録する必要がある。

plistファイルを作成して、それをlanchctl loadして登録になる。unloadで解除になる。

  • plistのファイルのパスは、主に以下2通り。
    • /Library/LaunchAgents/*****.plist : システム全体で有効になる。
    • ~/Library/LaunchAgents/*****.plist : ログインユーザのみで有効になる。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
  <dict>
  <key>Label</key>
  <string>setenv.M2_HOME</string>
  <key>ProgramArguments</key>
  <array>
    <string>/bin/launchctl</string>
    <string>setenv</string>
    <string>M2_HOME</string>
    <string>/usr/local/Cellar/maven31/3.1.1/libexec</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>ServiceIPC</key>
  <false/>
</dict>
</plist>

上記のような形式。

配置したら、コマンドで即座に反映できる。

launchctl load ~/Library/LaunchAgents/SSLKEYLOGFILE.plist 

値を修正した場合、一度unloadしてからloadする。

Finder

拡張子の表示

https://support.apple.com/ja-jp/guide/mac-help/mchlp2304/mac

  1. MacのFinder  で、「Finder」>「設定」と選択してから、「詳細」をクリックします。
  2. 「すべてのファイル名拡張子を表示」を選択するか選択を解除します。

Screenshot

場所の変更

https://support.apple.com/ja-jp/guide/mac-help/mh26782/mac

起動中の [オプション] で選べる。

保存形式の変更

https://www.pc-koubou.jp/magazine/76550

defaults write com.apple.screencapture type jpg

戻すとき。

defaults write com.apple.screencapture type png

IME

変換Enter 2回

Mac日本語入力、エンター2回でなく1回で変換する方法

https://ischool.co.jp/2019-08-05-japanese-input-in-mac-how-to-convert-at-once-instead-of-twice/

MacのIMEは変換後確定にEnter2回必要。これが面倒。1回にすることができる。

[システム設定]-[キーボード]-[入力ソース]-[編集]-[日本語]-[☑️Windows風のキー操作]

これで1回で済む。

Keybind

https://support.apple.com/ja-jp/102650

キー 内容
option-command-電源

option-command-メディア取り出しキー

スリープ

Keychain

Macのキーチェーンアクセスとは?

https://support.apple.com/ja-jp/guide/keychain-access/kyca1083/mac

「macOS」で「キーチェーンアクセス」を使う--パスワードを見つけて変更するには

https://japan.zdnet.com/article/35190535/

dockのkeychainアプリでMacのパスワードマネージャー。KeePassXCと似たようなことができる。OS標準だから安全・安心?

Passwords

Apple、今秋リリース予定のiPhoneとMacに新しいパスワードアプリ搭載

https://news.mynavi.jp/techplus/article/20240613-2964379/

2024年秋に [Passwords] という新しいOSアプリが登場。従来のKeychainをベースに、WiFiパスワードなど一元管理のためのアプリの模様。

こちらを使うのが良さそう。

[システム設定]-[パスワード] からアクセスする模様。

Other

破損App

Macで"壊れているため開けません"の古いappを開く #Mac - Qiita

xattr -rc /Applications/LegacyAwesome.app

これで属性を除去して解決することが多い。

UNIX

Other

cron

About

UNIX系OSのジョブ管理ツール。タスクの定期実行を可能にする。

cronの名前は時間を意味するギリシア語chronosに由来する。

指定した時間に1回だけ実行するなら、atがある。電子メールの送信などで役立つ。

Format

cronの動作はcrontab (cron table) ファイルで指定する。

以下の形式になっている。

# ┌───────────── 分(0〜59)
# │ ┌───────────── 時(0〜23)
# │ │ ┌───────────── 日(1〜31)
# │ │ │ ┌───────────── 月(1〜12)JAN-DEC
# │ │ │ │ ┌───────────── 曜日(0〜6〈日〜土〉、一部のシステムでは7も日曜日) SUN-SAT
# │ │ │ │ │
# │ │ │ │ │
# * * * * * [予約するコマンド]

日時部分はいくつか指定方法がある。

    • すべて。
  • /n: nごとに実行 (*/5)。
  • ,: 複数の時間間隔を指定 (1,2,3)
  • -: 範囲。
  • %: コマンド内の%はエスケープされていないと改行文字に変換され、標準入力としてコマンドに渡される。

ユーザーはcrontab -eで自分の設定ファイルを編集できる。crontabファイルの直接編集は非推奨で、crontabコマンドでの修正が推奨されている。

ファイルの他に標準入力も受け付ける。

Command
  • 編集: crontab -e
  • 表示: crontab -l
  • 削除: crontab -r

-u: 実行ユーザー指定。

オプションを指定しない場合、引数のファイルの内容のcronを実行する。引数がなければ標準入力。

既存のcrontabの内容を編集したい場合、方法が2種類ある。

  1. crontab -e
  2. (crontab -l ; echo ) | crontab: crontab -lで現在のcrontabの内容が出力されるので、これを加工してcrontabに再度流し込む。
  3. crontab [file]

2の方法は融通が利く。crontab [file] でファイルにcrontabの内容を記載しておいて、これをVCSで管理というのも悪くはない。

Log

/var/log/cron

cron - Verify if crontab works - Ask Ubuntu

デーモン自体の確認は以下。

systemctl status cron
systemctl restart cron

cronへの登録時のコマンドが標準出力を持つ場合、メールでユーザーに内容を送信する。

この挙動が鬱陶しいので、cronへの登録時にログを全て破棄するような設定が奨励されることがある。

>/dev/null 2>&1

crontabのガイドライン #CentOS - Qiita

ただ、全部捨てると失敗時も、いつから失敗しているかの情報も一切わからない。残したほうがいい。

>>/var/log/log_$(date +\%Y\%m\%d).log 2>&1
環境変数

POSIXにあるように、HOME/LOGNAME/PATH/SHELLのみが最低限デフォルト値が用意されていて存在が保証される。

cronの環境変数。

echo '* * * * * env >/tmp/env.log' | crontab

FROM php:7.3.23-apacheのDebian 10の場合。

HOME=/root
LOGNAME=root
PATH=/usr/bin:/bin
SHELL=/bin/sh
PWD=/root

PATHはcommand -p getconf PATHを参照していると思われる。

cronに登録したコマンドが動作しない理由の一つがPATH。注意する。crontab内では変数の代入などは独自拡張になる。基本は実行するスクリプトファイルか、最後のコマンド実行部分で自分で設定する。

anacron

システムのcrontab (cronとanacronの違い) #Linux - Qiita

cronの亜種にanacronがある。

  • 遅延実行: サーバーダウンなどでスキップされた処理を、復帰時に実行する。
  • 負荷分散: 最小1日単位のスケジュールしかできない代わりに、自動でサーバーの負荷をみて分散実行してくれる。
guide

crontabのガイドライン #CentOS - Qiita

crontabでの実行開始時間は検討が必要。0分と00:00は他のサブシステムの定期タスクの密集時間のことが多いのでここは避けて5分や10分にずらすのが無難。

Other

RDP

VNCとの違い

* https://www.routerhosting.com/rdp-vs-vnc-remote-desktop-comparison/

* https://superuser.com/questions/32495/whats-the-difference-between-rdp-vs-vnc

* https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97

* https://ja.wikipedia.org/wiki/Virtual_Network_Computing

* https://ja.wikipedia.org/wiki/Remote_Desktop_Protocol

RDPは意味を送受信している、VNCは画像を送受信している。扱うデータ量・負荷が違う。

教育だとか、サポートなどではVNCが有利。普段の使用ではRDPのほうが有利。

リモートデスクトップ

https://www.tmp1024.com/articles/solve-black-screen-when-ubuntu-remote-desktop

Ubuntu 19.10でのWindows 10からのリモートデスクトップの手順を整理する。

まずxrdp (0.9.9-1) をインストールする。

sudo apt install xrdp

その後、Ubuntuはサインアウト・ログアウトする。

Windows 10のリモートデスクトップ (mstsc.exe) を実行して、Ubuntuのホスト名やIPアドレスで接続する。

RDPでのログインユーザーが既にログイン済みだと画面が真っ黒になるらしい。

[リモートデスクトップでアクセスしたら真っ黒の画面が表示される問題の解決 \| 人と情報](https://www.tmp1024.com/articles/solve-black-screen-when-ubuntu-remote-desktop)

そのほか、ログイン時に認証ダイアログが毎回表示される。これはどうにかしたい。

それ以外は良好。

Keybind

App Menu

いわゆる右クリックのコンテキストメニュー。これをショートカットキーで実現する方法一応ある。

Macの場合。「Macの右クリック - Apple サポート (日本)」にあるように、Control-左クリックか、2本指クリック。

上記にあるように、F12でもできるらしい。ただし事前設定が必要。

[System]-[Accessibility]-[Pointer Control]-[Alternate pointer actions]=[on] にする。これでF12で開ける。右側のオプションボタンで変更もできる。

Key code

Mac

Ref: macos - Where can I find a list of Mac virtual key codes? - Stack Overflow.

以下のコマンドで一覧を確認できる (Mac v14.2.1、MacBook Air (M1, 2020)、 JIS配列)。

grep 'kVK_.*=' /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h

一覧。

  kVK_ANSI_A                    = 0x00,
  kVK_ANSI_S                    = 0x01,
  kVK_ANSI_D                    = 0x02,
  kVK_ANSI_F                    = 0x03,
  kVK_ANSI_H                    = 0x04,
  kVK_ANSI_G                    = 0x05,
  kVK_ANSI_Z                    = 0x06,
  kVK_ANSI_X                    = 0x07,
  kVK_ANSI_C                    = 0x08,
  kVK_ANSI_V                    = 0x09,
  kVK_ANSI_B                    = 0x0B,
  kVK_ANSI_Q                    = 0x0C,
  kVK_ANSI_W                    = 0x0D,
  kVK_ANSI_E                    = 0x0E,
  kVK_ANSI_R                    = 0x0F,
  kVK_ANSI_Y                    = 0x10,
  kVK_ANSI_T                    = 0x11,
  kVK_ANSI_1                    = 0x12,
  kVK_ANSI_2                    = 0x13,
  kVK_ANSI_3                    = 0x14,
  kVK_ANSI_4                    = 0x15,
  kVK_ANSI_6                    = 0x16,
  kVK_ANSI_5                    = 0x17,
  kVK_ANSI_Equal                = 0x18,
  kVK_ANSI_9                    = 0x19,
  kVK_ANSI_7                    = 0x1A,
  kVK_ANSI_Minus                = 0x1B,
  kVK_ANSI_8                    = 0x1C,
  kVK_ANSI_0                    = 0x1D,
  kVK_ANSI_RightBracket         = 0x1E,
  kVK_ANSI_O                    = 0x1F,
  kVK_ANSI_U                    = 0x20,
  kVK_ANSI_LeftBracket          = 0x21,
  kVK_ANSI_I                    = 0x22,
  kVK_ANSI_P                    = 0x23,
  kVK_ANSI_L                    = 0x25,
  kVK_ANSI_J                    = 0x26,
  kVK_ANSI_Quote                = 0x27,
  kVK_ANSI_K                    = 0x28,
  kVK_ANSI_Semicolon            = 0x29,
  kVK_ANSI_Backslash            = 0x2A,
  kVK_ANSI_Comma                = 0x2B,
  kVK_ANSI_Slash                = 0x2C,
  kVK_ANSI_N                    = 0x2D,
  kVK_ANSI_M                    = 0x2E,
  kVK_ANSI_Period               = 0x2F,
  kVK_ANSI_Grave                = 0x32,
  kVK_ANSI_KeypadDecimal        = 0x41,
  kVK_ANSI_KeypadMultiply       = 0x43,
  kVK_ANSI_KeypadPlus           = 0x45,
  kVK_ANSI_KeypadClear          = 0x47,
  kVK_ANSI_KeypadDivide         = 0x4B,
  kVK_ANSI_KeypadEnter          = 0x4C,
  kVK_ANSI_KeypadMinus          = 0x4E,
  kVK_ANSI_KeypadEquals         = 0x51,
  kVK_ANSI_Keypad0              = 0x52,
  kVK_ANSI_Keypad1              = 0x53,
  kVK_ANSI_Keypad2              = 0x54,
  kVK_ANSI_Keypad3              = 0x55,
  kVK_ANSI_Keypad4              = 0x56,
  kVK_ANSI_Keypad5              = 0x57,
  kVK_ANSI_Keypad6              = 0x58,
  kVK_ANSI_Keypad7              = 0x59,
  kVK_ANSI_Keypad8              = 0x5B,
  kVK_ANSI_Keypad9              = 0x5C
  kVK_Return                    = 0x24,
  kVK_Tab                       = 0x30,
  kVK_Space                     = 0x31,
  kVK_Delete                    = 0x33,
  kVK_Escape                    = 0x35,
  kVK_Command                   = 0x37,
  kVK_Shift                     = 0x38,
  kVK_CapsLock                  = 0x39,
  kVK_Option                    = 0x3A,
  kVK_Control                   = 0x3B,
  kVK_RightCommand              = 0x36,
  kVK_RightShift                = 0x3C,
  kVK_RightOption               = 0x3D,
  kVK_RightControl              = 0x3E,
  kVK_Function                  = 0x3F,
  kVK_F17                       = 0x40,
  kVK_VolumeUp                  = 0x48,
  kVK_VolumeDown                = 0x49,
  kVK_Mute                      = 0x4A,
  kVK_F18                       = 0x4F,
  kVK_F19                       = 0x50,
  kVK_F20                       = 0x5A,
  kVK_F5                        = 0x60,
  kVK_F6                        = 0x61,
  kVK_F7                        = 0x62,
  kVK_F3                        = 0x63,
  kVK_F8                        = 0x64,
  kVK_F9                        = 0x65,
  kVK_F11                       = 0x67,
  kVK_F13                       = 0x69,
  kVK_F16                       = 0x6A,
  kVK_F14                       = 0x6B,
  kVK_F10                       = 0x6D,
  kVK_F12                       = 0x6F,
  kVK_F15                       = 0x71,
  kVK_Help                      = 0x72,
  kVK_Home                      = 0x73,
  kVK_PageUp                    = 0x74,
  kVK_ForwardDelete             = 0x75,
  kVK_F4                        = 0x76,
  kVK_End                       = 0x77,
  kVK_F2                        = 0x78,
  kVK_PageDown                  = 0x79,
  kVK_F1                        = 0x7A,
  kVK_LeftArrow                 = 0x7B,
  kVK_RightArrow                = 0x7C,
  kVK_DownArrow                 = 0x7D,
  kVK_UpArrow                   = 0x7E
  kVK_ISO_Section               = 0x0A
  kVK_JIS_Yen                   = 0x5D,
  kVK_JIS_Underscore            = 0x5E,
  kVK_JIS_KeypadComma           = 0x5F,
  kVK_JIS_Eisu                  = 0x66,
  kVK_JIS_Kana                  = 0x68

Keyhac

About

Mac版はmac_portブランチ。

Mac

Mac版は英語サイト (craftware - Keyhac) からじゃないとダウンロードできないので注意する。

マニュアル: keyhac: User Manual

またWindowsと異なり、exeファイルと同じ場所のconfig.pyを読み込んだりはしてくれない。

$HOME/Library/Application Support/Keyhac/に配置する必要がある。

また、そもそもキーコード自体が異なるので、一部は専用に作る必要がある。

Base

config.py内にconfigure(keymap)関数を定義して、この中で設定を記述していく。

引数のkeymapにはKeymapオブジェクトが渡されるのでこれを操作することで設定する。

    keymap_global = keymap.defineWindowKeymap()

Keymap.defineWindowKeymapでWindowKeymapオブジェクトを返す。このオブジェクトに対してグローバルキーマップを定義していく。

これが基本。

基本的に全部文字列。キーコードを指定する部分は数値も可能だが、10進数の文字列にしておいたほうがいい。

Modifier

keymap.defineModifierで、Shift/Ctrlのように同時押しに意味のあるキー (modifier) を追加できる。

スペースの左右のキーにShift/Ctrl相当の機能をもたせる上で非常に重要。

# ユーザモディファイアキーの定義
keymap.defineModifier( 235, "User0" )

上記の例では235のキーコードにU0のモディファイアキーを設定している。U0はUser0の短縮表記。ただし、Windows専用。短縮表記は使わない方がいい。

Policy
  • スペースの左右のキー (Windows=変換/無変換、Mac=英数/かな) をモディファイアキーに追加。
  • LSS/RSSと表記 (Left Side Space/Right Side Space)
  • Ctrl/Cmd=CCと表記。
  • SpaceはCtrlのワンショットモディファイア。
  • LSS=Shift、RSS=U0、Space=CC。

hjklのVimのキー移動を定義したいから、RSSはU0。これは確定。

U0の操作にShiftを組み合わせたいことがあるからLSS=Shiftがいい。

キーの違いで、Windows/Macで共有と独立部分がある?