<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://github.com/wiki/feed.xml" rel="self" type="application/atom+xml" /><link href="https://github.com/wiki/" rel="alternate" type="text/html" /><updated>2026-03-09T13:48:08+00:00</updated><id>https://github.com/wiki/feed.xml</id><title type="html">Wiki (Archived)</title><subtitle>migrated from Pukiwiki</subtitle><entry><title type="html">Kotlin/nullableのAnyをリストにキャストする</title><link href="https://github.com/wiki/01K2H4XEA84E34Z7KPT0JVXYP4/" rel="alternate" type="text/html" title="Kotlin/nullableのAnyをリストにキャストする" /><published>2025-08-13T07:22:05+00:00</published><updated>2025-08-13T07:22:05+00:00</updated><id>https://github.com/wiki/01K2H4XEA84E34Z7KPT0JVXYP4</id><content type="html" xml:base="https://github.com/wiki/01K2H4XEA84E34Z7KPT0JVXYP4/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>Kotlin</li>
  <li>nullable</li>
  <li>Any</li>
  <li>cast</li>
</ul>

<h1 id="したいこと">したいこと</h1>

<p>Any?を、warningを受けないように、リストにキャストするには一工夫要る。</p>

<h1 id="どうやって">どうやって</h1>

<p>Any?をList<Exception>?にする例</Exception></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>(value as? List&lt;*&gt;)
  ?.takeIf { list -&gt;
    list.all { it is Exception }
  }
  ?.map { it as Exception }
</code></pre></div></div>

<h1 id="ちなみに">ちなみに</h1>

<h1 id="参考">参考</h1>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">障害メモ/Playwrightで特定のリクエストが403になってパスしない</title><link href="https://github.com/wiki/01JJRHQ1WR10K89S2E0KCDTS72/" rel="alternate" type="text/html" title="障害メモ/Playwrightで特定のリクエストが403になってパスしない" /><published>2025-01-29T08:09:19+00:00</published><updated>2025-01-29T08:09:19+00:00</updated><id>https://github.com/wiki/01JJRHQ1WR10K89S2E0KCDTS72</id><content type="html" xml:base="https://github.com/wiki/01JJRHQ1WR10K89S2E0KCDTS72/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>Playwright</li>
  <li>OPTIONS</li>
  <li>PUT</li>
  <li>403 Forbidden</li>
</ul>

<h1 id="現象">現象</h1>

<p>ブラウザで直接操作する分には問題ないがPlaywrightで同じ操作をしてパスしないケースがあった。</p>

<p>諸々あったので箇条書きにする:</p>

<ul>
  <li>PUTリクエストを処理できなかった</li>
  <li>PUTの前にOPTIONSをリクエストしていた</li>
  <li>OPTIONSリクエストで403 Forbiddenになっていた</li>
  <li>サーバー側でOPTIONSリクエストの問題を解決したが、PUTリクエストで403 Forbiddenになった</li>
</ul>

<h1 id="原因">原因</h1>

<h2 id="putの前にoptionsをリクエストしていた">PUTの前にOPTIONSをリクエストしていた</h2>

<p><a href="https://developer.mozilla.org/ja/docs/Web/HTTP/CORS#%E5%8D%98%E7%B4%94%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88">単純リクエスト</a>でないためにプリフライトを行っていた。</p>

<h2 id="optionsリクエストで403-forbiddenになっていた">OPTIONSリクエストで403 Forbiddenになっていた</h2>

<p>サーバー側でAllowedOriginの設定を誤っていた。それに加えPlaywrightではlocalhostへのアクセスは127.0.0.1になっていた。</p>

<h2 id="putリクエストで403-forbiddenになった">PUTリクエストで403 Forbiddenになった</h2>

<p>どういうわけだか分からないがログを見る限りCookieがセットされておらず必要な認証等ができていなかった。</p>

<h1 id="対策">対策</h1>

<p>PUTリクエストするエンドポイントはローカル環境では別サービスを模したスタブでしかないこともあり、Playwrightでレスポンスをエミュレートすることにした。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>// stub
await page.route('**/path/to/endpoint', async (route) =&gt; {
  await route.fulfill({ status: 200 });
});
</code></pre></div></div>

<h1 id="備考">備考</h1>

<p>肝心のPUTリクエストでCookieがセットされなかった理由は不明。追求していない。</p>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://developer.mozilla.org/ja/docs/Web/HTTP/CORS">オリジン間リソース共有 (CORS) - HTTP | MDN</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">シェル/リアルタイムにgrepする</title><link href="https://github.com/wiki/01J696GARGSD8FQCYKXWESHW9D/" rel="alternate" type="text/html" title="シェル/リアルタイムにgrepする" /><published>2024-08-27T05:56:26+00:00</published><updated>2024-08-27T05:56:26+00:00</updated><id>https://github.com/wiki/01J696GARGSD8FQCYKXWESHW9D</id><content type="html" xml:base="https://github.com/wiki/01J696GARGSD8FQCYKXWESHW9D/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>grep</li>
  <li>tail</li>
</ul>

<h1 id="したいこと">したいこと</h1>

<p>標準出力に出力されつづけるテキストをパイプしてリアルタイムにgrepして表示したい。</p>

<h1 id="どうやって">どうやって</h1>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>(標準出力に出力しつづけるコマンド) | grep --line-buffered 'something'
</code></pre></div></div>

<p>たとえばtail -fなどが標準出力に出力しつづけるコマンド。</p>

<h1 id="ちなみに">ちなみに</h1>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ man grep 
     --line-buffered
             Force output to be line buffered.  By default, output is line buffered when standard output is a terminal and block buffered otherwise.
</code></pre></div></div>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://qiita.com/naotarou/items/ee2afc15804e37129c2d">リアルタイムに「tail -f」をgrepする方法 #Linux - Qiita</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">Lubuntu/Google Chromeをインストールする</title><link href="https://github.com/wiki/01J58GX8ARPZ3TX11MGZKV8V6E/" rel="alternate" type="text/html" title="Lubuntu/Google Chromeをインストールする" /><published>2024-08-14T13:23:19+00:00</published><updated>2024-08-14T13:23:19+00:00</updated><id>https://github.com/wiki/01J58GX8ARPZ3TX11MGZKV8V6E</id><content type="html" xml:base="https://github.com/wiki/01J58GX8ARPZ3TX11MGZKV8V6E/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>Lubuntu</li>
  <li>Google Chrome</li>
</ul>

<h1 id="したいこと">したいこと</h1>

<p>LubuntuにGoogle Chromeをインストールしたい。</p>

<p>Lubuntuをインストールしたままの状態にはFirefoxがインストールされている。
なお、アプリケーションをミニマムでLubuntuをインストールするとFirefoxもインストールされていない。
アプリケーションは標準にしてLubuntuをインストールするのが手間なくていい。</p>

<h1 id="どうやって">どうやって</h1>

<p>はじめにGoogle Chromeをオフィシャルサイトからパッケージをダウンロードしておく。</p>

<ul>
  <li>google-chrome-stable_current_amd64.deb</li>
</ul>

<p>パッケージをインストールするにはgdebiを利用する。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt update
$ sudo apt install -y gdebi
$ cd /path/to/Downloads
$ sudo gdebi google-chrome-stable_current_amd64.deb
</code></pre></div></div>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://shell-mag.com/rensai-linuxpc-05/">第5回　Chromeブラウザを導入する «  shell-mag</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">Lubuntu/日本語入力する</title><link href="https://github.com/wiki/01J58G6XFR536CK3PC3DM97Y6C/" rel="alternate" type="text/html" title="Lubuntu/日本語入力する" /><published>2024-08-14T13:11:07+00:00</published><updated>2024-08-14T13:11:07+00:00</updated><id>https://github.com/wiki/01J58G6XFR536CK3PC3DM97Y6C</id><content type="html" xml:base="https://github.com/wiki/01J58G6XFR536CK3PC3DM97Y6C/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>Lubuntu</li>
  <li>日本語入力</li>
</ul>

<h1 id="したいこと">したいこと</h1>

<p>Lubuntuで日本語入力したい。</p>

<p>Lubuntuをインストールしたままの状態だと、日本語表示できるものの日本語入力できない。</p>

<h1 id="どうやって">どうやって</h1>

<h2 id="構成">構成</h2>

<p>日本語を入力するには、インプットメソッド（日本語入力システム）とインプットメソッドフレームワークが必要なようです。
このうち、インプットメソッドフレームワークであるFcitxは既にインストール済みである。
ここでは、インプットメソッド（日本語入力システム）であるMozcをインストールする。</p>

<dl>
<dt>Mozc</dt>
<dd>インプットメソッド（日本語入力システム）</dd>
<dt>Fcitx</dt>
<dd>インプットメソッドフレームワーク</dd>
</dl>

<h2 id="手順">手順</h2>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt update
$ sudo apt install -y fcitx-mozc
</code></pre></div></div>

<p>ここでいちどログアウトしてからログインし直す。</p>

<h1 id="ちなみに">ちなみに</h1>

<p>MozcはGoogle日本語入力のオープンソース版のようです。</p>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://shell-mag.com/rensai-linuxpc-04/">第4回　日本語入力を可能にする «  shell-mag</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">Windows/WSL2のUbuntuをアップグレードする</title><link href="https://github.com/wiki/01HX4EJ4B8MSN0Q4K0J7F3CQ5H/" rel="alternate" type="text/html" title="Windows/WSL2のUbuntuをアップグレードする" /><published>2024-05-05T13:19:45+00:00</published><updated>2024-05-05T13:19:45+00:00</updated><id>https://github.com/wiki/01HX4EJ4B8MSN0Q4K0J7F3CQ5H</id><content type="html" xml:base="https://github.com/wiki/01HX4EJ4B8MSN0Q4K0J7F3CQ5H/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>WSL2</li>
  <li>Ubuntu</li>
  <li>アップグレード</li>
</ul>

<h1 id="したいこと">したいこと</h1>

<p>WSL2のUbuntuが18系のため、主にnodeで不都合がある。UbuntuからVS Codeが立ち上げられないなど。</p>

<p>WSL2のUbuntuを20系にアップグレードしたい。</p>

<h1 id="どうやって">どうやって</h1>

<h2 id="事前確認">事前確認</h2>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cat /etc/issue
</code></pre></div></div>

<h2 id="準備">準備</h2>

<h3 id="インストール済みパッケージの最新化">インストール済みパッケージの最新化</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt update
sudo apt upgrade
</code></pre></div></div>

<h3 id="クリーンアップ">クリーンアップ</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt --purge autoremove
</code></pre></div></div>

<h3 id="アップグレードに必要なパッケージのインストール">アップグレードに必要なパッケージのインストール</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt install update-manager-core
</code></pre></div></div>

<h2 id="アップグレード">アップグレード</h2>

<h3 id="躓く原因になるパッケージの削除環境依存">躓く原因になるパッケージの削除（環境依存？）</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt remove snapd
</code></pre></div></div>

<h3 id="アップグレード-1">アップグレード</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo do-release-upgrade
</code></pre></div></div>

<h2 id="事後確認">事後確認</h2>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cat /etc/issue
</code></pre></div></div>

<h1 id="ちなみに">ちなみに</h1>

<p>アップグレード時に -d オプションをつける例も見る。このオプションをつけると development release にアップグレードするようなので、そのつもりがないなら -d オプションはつけない方がよさそう。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>      -d, --devel-release
             If using the latest supported release, upgrade to the development release
</code></pre></div></div>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://arakan-pgm-ai.hatenablog.com/entry/2022/11/28/090000">WSL2のUbuntu18.04LTSを、20.04LTSにアップグレード - SE_BOKUのまとめノート的ブログ</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">障害メモ/IntelliJでソースコードにジャンプできない</title><link href="https://github.com/wiki/01HTEFEBT8T4S102GF8W8G5J8Z/" rel="alternate" type="text/html" title="障害メモ/IntelliJでソースコードにジャンプできない" /><published>2024-04-02T04:00:29+00:00</published><updated>2024-04-02T04:00:29+00:00</updated><id>https://github.com/wiki/01HTEFEBT8T4S102GF8W8G5J8Z</id><content type="html" xml:base="https://github.com/wiki/01HTEFEBT8T4S102GF8W8G5J8Z/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>IntelliJ</li>
  <li>Kotlin</li>
</ul>

<h1 id="現象">現象</h1>

<p>IntelliJでKotlinに備付けの実装にジャンプしようとしてもdecompiledなclassファイルを開いてしまう。</p>

<h1 id="原因">原因</h1>

<p>IntelliJのインデックスが壊れている？</p>

<h1 id="対策">対策</h1>

<p>Gradle Projectsをリロードする。Gradleペインの環状矢印。</p>

<h1 id="備考">備考</h1>

<p>壊れやすいの？</p>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://qiita.com/k0kubun/items/382ea57bdf0e965f51ce">IntelliJ IDEAのインデックスが壊れた時にやること #IntelliJ - Qiita</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">Kotlin/4つ要素以上のタプルを作りたい</title><link href="https://github.com/wiki/01HTEF1DR8QPYCBF87TQTM0EXV/" rel="alternate" type="text/html" title="Kotlin/4つ要素以上のタプルを作りたい" /><published>2024-04-02T03:53:25+00:00</published><updated>2024-04-02T03:53:25+00:00</updated><id>https://github.com/wiki/01HTEF1DR8QPYCBF87TQTM0EXV</id><content type="html" xml:base="https://github.com/wiki/01HTEF1DR8QPYCBF87TQTM0EXV/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>Kotlin</li>
  <li>Tuple</li>
</ul>

<h1 id="したいこと">したいこと</h1>

<p>PairやTripleはあるが4つ5つの要素のタプルがないので作りたい。</p>

<h1 id="どうやって">どうやって</h1>

<h2 id="正攻法">正攻法</h2>

<p>素直にデータクラスを作る。</p>

<p>Tripleの実装と同じようにQuadrupleやQuintupleを作る。
data classにすればcomponentN()も定義されるので分解宣言できる。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>data class Quadruple&lt;out A, out B, out C, out D&gt;(
    val first: A,
    val second: B,
    val third: C,
    val fourth: D
) : Serializable {
    override fun toString(): String = "($first, $second, $third, $fourth)".apply {  }
}

fun &lt;T&gt; Quadruple&lt;T, T, T, T&gt;.toList(): List&lt;T&gt; = listOf(first, second, third, fourth)
</code></pre></div></div>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>data class Quintuple&lt;out A, out B, out C, out D, out E&gt;(
    val first: A,
    val second: B,
    val third: C,
    val fourth: D,
    val fifth: E,
) : Serializable {
    override fun toString(): String = "($first, $second, $third, $fourth, $fifth)"
}

fun &lt;T&gt; Quintuple&lt;T, T, T, T, T&gt;.toList(): List&lt;T&gt; = listOf(first, second, third, fourth, fifth)
</code></pre></div></div>

<h2 id="変化球">変化球</h2>

<p>次のようにtypealiasと拡張プロパティでそれっぽくできる（が、分解宣言できないので正攻法のように<em>素直にデータクラスを作る</em>のがよいはず）。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>typealias KTuple4&lt;A, B, C, D&gt; = Pair&lt;Pair&lt;Pair&lt;A, B&gt;, C&gt;, D&gt;
typealias KTuple5&lt;A, B, C, D, E&gt; = Pair&lt;Pair&lt;Pair&lt;Pair&lt;A, B&gt;, C&gt;, D&gt;, E&gt;

@Suppress("UNUSED", "FunctionName")
fun &lt;A, B, C, D&gt; KTuple(a: A, b: B, c: C, d: D): KTuple4&lt;A, B, C, D&gt; = a to b to c to d
@Suppress("UNUSED", "FunctionName")
fun &lt;A, B, C, D, E&gt; KTuple(a: A, b: B, c: C, d: D, e: E): KTuple5&lt;A, B, C, D, E&gt; = a to b to c to d to e

val &lt;A, B, C, D&gt; KTuple4&lt;A, B, C, D&gt;.t1
    @JvmName("tuple4t1")
    get() = first.first.first
val &lt;A, B, C, D&gt; KTuple4&lt;A, B, C, D&gt;.t2
    @JvmName("tuple4t2")
    get() = first.first.second
val &lt;A, B, C, D&gt; KTuple4&lt;A, B, C, D&gt;.t3
    @JvmName("tuple4t3")
    get() = first.second
val &lt;A, B, C, D&gt; KTuple4&lt;A, B, C, D&gt;.t4
    @JvmName("tuple4t4")
    get() = second

val &lt;A, B, C, D, E&gt; KTuple5&lt;A, B, C, D, E&gt;.t1
    @JvmName("tuple5t1")
    get() = first.first.first.first
val &lt;A, B, C, D, E&gt; KTuple5&lt;A, B, C, D, E&gt;.t2
    @JvmName("tuple5t2")
    get() = first.first.first.second
val &lt;A, B, C, D, E&gt; KTuple5&lt;A, B, C, D, E&gt;.t3
    @JvmName("tuple5t3")
    get() = first.first.second
val &lt;A, B, C, D, E&gt; KTuple5&lt;A, B, C, D, E&gt;.t4
    @JvmName("tuple5t4")
    get() = first.second
val &lt;A, B, C, D, E&gt; KTuple5&lt;A, B, C, D, E&gt;.t5
    @JvmName("tuple5t5")
    get() = second
</code></pre></div></div>

<h3 id="つくりかた">つくりかた</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>KTuple(1, 1.0, "1", true)
</code></pre></div></div>

<p>または</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>1 to 1.0 to "1" to true
</code></pre></div></div>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://kisaragieffective.github.io/blog/entry/10.html">可変長タプル on Kotlin? | KisaragiEffective.github.io</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">VSCode/Extensionを開発する</title><link href="https://github.com/wiki/01HS0EZ6B0N47AMT9CKTNDD6PS/" rel="alternate" type="text/html" title="VSCode/Extensionを開発する" /><published>2024-03-15T07:07:08+00:00</published><updated>2024-03-15T07:07:08+00:00</updated><id>https://github.com/wiki/01HS0EZ6B0N47AMT9CKTNDD6PS</id><content type="html" xml:base="https://github.com/wiki/01HS0EZ6B0N47AMT9CKTNDD6PS/"><![CDATA[<h1 id="キーワード">キーワード</h1>

<ul>
  <li>Visual Studio Code</li>
  <li>Extensions</li>
</ul>

<h1 id="したいこと">したいこと</h1>

<p>Visual Studio CodeのExtensionを開発したい。</p>

<h1 id="どうやって">どうやって</h1>

<h2 id="wsl導入">WSL導入</h2>

<p>管理者権限でterminalを開いてWSLを導入する。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&gt;wsl --install
&gt;wsl --update
&gt;wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2
</code></pre></div></div>

<h2 id="node導入">node導入</h2>

<p>Ubuntuを開いてnodeのバージョン管理ツールを導入して、動かせるnodeのバージョンをインストールする。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ curl https://get.volta.sh/ | bash
$ volta --version
1.1.1
$ volta 
$ volta install node@16
$ node --version
v16.20.2
</code></pre></div></div>

<h2 id="yo導入">yo導入</h2>

<p>nodeのバージョンが18以上でないので警告が出るが、導入はできる。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ npm install -g yo generator-code
$ yo code
</code></pre></div></div>

<p>ダイアログを道なりに進むとプロジェクトを作成できる。</p>

<h1 id="ちなみに">ちなみに</h1>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://zenn.dev/claustra01/articles/0a484d414a8ba4">WSL2とVoltaによるnode.js/pnpm開発環境構築</a></li>
  <li><a href="https://qiita.com/HelloRusk/items/073b58c1605de224e67e">VSCode Extensions(拡張機能) 自作入門 〜VSCodeにおみくじ機能を追加する〜 #VSCode - Qiita</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[キーワード]]></summary></entry><entry><title type="html">Karabiner-Elements/設定</title><link href="https://github.com/wiki/01H1XR4S3RCQ0GPCRQH2JK5V3M/" rel="alternate" type="text/html" title="Karabiner-Elements/設定" /><published>2023-06-02T09:48:43+00:00</published><updated>2023-06-02T09:48:43+00:00</updated><id>https://github.com/wiki/01H1XR4S3RCQ0GPCRQH2JK5V3M</id><content type="html" xml:base="https://github.com/wiki/01H1XR4S3RCQ0GPCRQH2JK5V3M/"><![CDATA[<h1 id="configurations">Configurations</h1>

<p>「システム環境設定 &gt; セキュリティとプライバシー &gt; プライバシー &gt; 入力監視」に次を追加。</p>

<ul>
  <li>karabiner_grabber</li>
  <li>karabiner_observer</li>
</ul>

<p>リストに挙がっていないときは端末で次を開いてドラッグ＆ドロップする。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>open /Library/Application\ Support/org.pqrs/Karabiner-Elements/bin
</code></pre></div></div>

<h1 id="preferences">Preferences</h1>

<p>「Simple Modifications &gt; 該当のデバイス」に次を追加（好みに応じて）。</p>

<ul>
  <li>left_option -&gt; left_command</li>
  <li>left_command -&gt; left_option</li>
  <li>left_control -&gt; caps_lock</li>
  <li>caps_lock -&gt; left_control</li>
  <li>right_control -&gt; right_command</li>
  <li>PCキーボードの無変換キー -&gt; 英数キー</li>
  <li>PCキーボードの変換キー -&gt; かなキー</li>
</ul>

<h1 id="参考">参考</h1>

<ul>
  <li><a href="https://qiita.com/Naturalclar/items/84213a9bf54d2e3992ae">MacOS Catalina で Karabiner-Elements を有効にする - Qiita</a></li>
  <li><a href="https://www.tarura.com/karabiner-elements-how-to/">MacでWindowsキーボードを使う！Karabinar-Elementsの設定法 - ビビーノ・ワイン</a></li>
  <li><a href="https://qiita.com/seki-moto/items/7bfd1db53691bb53165d">Macで変換や無変換キーによる日本語入力切り替え - Qiita</a></li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Configurations]]></summary></entry></feed>