@ryoppippi

karabiner-elements で Mac版のChatGPTアプリでReturn と Shift + Return を入れ替える

5 Jul 2024 ・ 2 min read


TL;DR

みなさん​Mac版の​ChatGPTアプリを​使っていますか?

ChatGPT は​ Return キーで​メッセージを​送信します。 複数行に​わたる​メッセージを​送信する​場合、​Shift + Return で​改行を​入力します。 この​挙動、​逆だと​いいですよね。

実際 Chrome拡張機能で​入れ替える​例を​よく​みますね。

karabiner-elements で​ Return と​ Shift + Return を​入れ替える​設定を​紹介します。

ルールの​確認

自分は​ karabiner.tsを​使っているので、​それを​使った​実装を​紹介します。 karabiner.tsに​ついては​以下の​記事を​参照してください。

/blog/2024-05-23-zenn-85373aaf0c92e0-ja

やっている​ことは​シンプルです。 https://github.com/ryoppippi/dotfiles/blob/6ab729e9edd8877baacd240e4b09fe0ad5d37950/karabiner/utils.ts#L13-L32 https://github.com/ryoppippi/dotfiles/blob/c24beec0aaedd37a51a9d70d5f72c0c6b8f19448/karabiner/karabiner.ts#L8-L11 https://github.com/ryoppippi/dotfiles/blob/c24beec0aaedd37a51a9d70d5f72c0c6b8f19448/karabiner/karabiner.ts#L77-L96

  • ChatGPT の​ Bundle Identifier を​探してくる​(ここでは​ com.openai.chat)
  • Bundle Identifier が​ com.openai.chat の​時に​ルールを​有効に​する
  • Return + Shift が​押された​時に​ Return を​送信する
  • Return が​押された​時に​ Shift + Return を​送信する
  • ついでに​ Command + Return で​ Return を​送信する

と​しています。

これが​コンパイルされると​このようになります。

karabiner.ts を​使ってない​人は​こちらを​コピペして​使ってください。 https://github.com/ryoppippi/dotfiles/blob/d736fa2856f85f6e52aca5ea157745b266c1dbe5/karabiner/karabiner.json#L222-L300

まとめ

karabiner.ts使おう

comment on bluesky / twitter
CC BY-NC-SA 4.0 2022-PRESENT © ryoppippi