give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

【写真多数】自宅をリフォームしたので自慢したい(去年の話だけど)

はじめに

これは最近の話ではなく、去年の話なんですが、かなり大規模な自宅のリフォームをやりました。
リフォームしたおかげで雰囲気がガラッと変わって、すごく快適になりました。
本当は去年のうちにブログを書きたかったのですが、全然時間がなくてここまで伸びてしまいました(苦笑)。

まあ、ほとんど自宅自慢みたいなものですが、よかったら見てやってください。

トイレ(1階)

今回のリフォームでは水回りをリフォームしたいね、という話から始まりました。
なので、トイレとお風呂と洗面所がファーストターゲットでした。

1階のトイレはもともとこんな感じだったのですが・・・

こうなりました。

便器が浮いてるので掃除がラクです(ここは妻の強いこだわりポイント!)。

夜は床が柔らかく光るので、夜中トイレに起きてもまぶしくありません。

水栓は手を差し出したら自動的に水が出てくる自動水栓にしました(新型コロナ対策)。


トイレ(2階)

続いて2階のトイレです。まずはリフォーム前の写真から。

リフォーム後はこうなりました。
1階のトイレと同じく便器が浮いている&夜は床が光る仕様です。

ちなみに新しいトイレはどちらもTOTOのレストパルFというモデルです。

レストパルF/レストパル | トイレ | 商品情報 | TOTO株式会社

お風呂

今度はお風呂を見てみましょう。こちらはリフォーム前です。

はい、リフォームしました。
少しダークなトーンで高級ホテルのお風呂みたいになりました。



お風呂場の照明は4段階で調節できます。
仕事終わりで「ああ、疲れた〜」という場合は少し暗い照明にしてお風呂に入るとすごくリラックスできます。

あと、肩や腰にお湯が流れる機能も付いています。
これ、めっちゃいいです。僕は毎晩のように使ってます。


Image: https://jp.toto.com/products/bath/synla/

そうそう、このお風呂には自動お掃除機能も付いてて、ボタンひとつで浴槽と床が掃除できます。
週に1回ぐらいは手洗いした方が良いものの、毎日ゴシゴシやらなくていいのはとてもラクですね。


Image: https://jp.toto.com/products/bath/synla/

それからすごく地味なんですが、あえて風呂場の扉を開き戸にしてバスタオルを掛けられるバーを付けました。
風呂場側からさっとバスタオルが取れるのでめちゃ便利です(これも妻のこだわりポイント!)

今回のリフォームではTOTOのシンラというモデルを選びました。

シンラ(戸建住宅向け) | 浴室 | 商品情報 | TOTO株式会社

洗面所

続いて洗面所です。リフォーム前はこんな感じでした。
鏡が細長くて朝の忙しい時間に1人が鏡の前に立つと、他の人は鏡が使えなくなるのが一番のネックでした。

リフォームしたらこうなりました。

鏡を壁いっぱいに広げたので、2人並んで鏡が使えるようになりました(もともとあった窓はなくしました)。

こちらも手を差し出したら水が出てくる自動水栓です。

この自動水栓にはお湯が出てくるまで吐水して、水温が上がったら自動的に吐水が停止する「温水準備」機能も付いていて、冬場に重宝しています。


Image: https://www.sunrefre.jp/staff/index.php/archives/50045

あと、地味な便利機能として体重計収納があります。
使わないときは体重計を隠せるし、使うときは引き出しみたいにすーっと体重計を出せるのでとっても便利です。

今回はTOTOのオクターブというモデルを選びました。

オクターブ | 洗面 | 商品情報 | TOTO株式会社

キッチン

前述のとおり、今回のリフォームはトイレとお風呂と洗面所だけにしようと思っていました。
思っていたのですが・・・TOTOのショールームに行くと妻が「ああっ、キッチンも素敵……😍」と言い出したので、結局キッチンも入れ替えることになりました(苦笑)。

妻はめちゃくちゃ料理好きなので(というかプロのパン屋です)、キッチンにもすごくこだわりたい人なのですが、自宅を建てたタイミングと妊娠の時期が重なってしまい、つわりが大変でキッチンにあまりこだわることができませんでした。
じゃあそれなら、ということで、今回のリフォームついでに妻のこだわりを存分に詰め込んでもらうことにしました。

というわけでまずはリフォーム前の写真から。
背面収納を大きく取ったのはいいのですが、上の方の棚は手が届かないのでデッドスペースになっていました。

リフォーム後はこうなりました。
リフォーム前のかわいらしいイメージから、モノトーンのクールなイメージにしてみました。

吊戸棚の上部には間接照明も付いています。

食器類は吊戸棚と引き出しに収納しているので、背面に作業スペースを増やすことができました(⭐️マーク部分)。
妻曰く、早朝にバタバタと子どもたちの弁当を作ったりするときはこのスペースがあるかないかで作業効率が全然変わってくるそうです。

もちろん、ビルトインの全自動食洗機も付いています(これはリフォーム前にも付いていましたが)。

あと、カウンターやシンクは「クリスタルカウンター」という素材になってるんですが、基本的にあまり汚れないですし、「ちょっと色が付いてきたかな?」と思ってもメラミンスポンジでゴシゴシすればまた綺麗になるのも良いです。
以前使っていたステンレス製のシンクは汚れが染みついていくら磨いても綺麗にならないのがストレスでした。


Image: https://jp.toto.com/products/kitchen/crasso/

コンロはIHからガスへ

そして、一番変わったのは実はこれ!コンロです。
リフォーム前はIHだったのですが、これをガスコンロに変更しました。

自宅を建てた当時は「これからの時代はIHでしょ」という雰囲気だったので、「へえ、そうなのか〜」と思いながらIHにしたんですが、やっぱり料理はガスです(by 妻)。
火力が違うのですごいスピードで食材に火が通ります。急いで料理しなきゃいけないときはこの差はとても大きいです。
あと、炒め物の美味しさは段違いです。味音痴な僕でもすぐわかるレベルです。

「でもガスコンロは掃除が大変でしょ?」と思うかもしれませんが、最近のガスコンロはガラストップなので、さっと拭けば汚れが落ちます。
ゴトクもステンレス製にしたので、水洗いできれいになります。昔のガスコンロとは大違いです。

キッチンはTOTOのザ・クラッソです。
ザ・クラッソ | キッチン | 商品情報 | TOTO株式会社

ガスコンロはノーリツのプログレです。
プログレ | キッチン | ノーリツ

理想のキッチン環境が作れて妻も大満足しています😄
特に、IHからガスへの変更は今回のリフォームでやって良かったこと第1位なんじゃないかと妻と話しています。

リビング&ダイニング

そして最後に紹介するのはリビングとダイニングです。
リビングやダイニングも元々リフォームする予定はなかったのですが、キッチンを入れ替えると必然的にフローリングの張り替えも発生してしまいます。
あと、我が家は構造上、キッチンとダイニングとリビングが全部つながっています。
コストを抑えるならキッチンの周辺だけを張り替える、という手もあるのですが、見た目に美しくないのでリビング〜ダイニング全体のフローリングを張り替えることにしました(お、お金が・・・💸)。

というわけでリビング&ダイニングのビフォー・アフターを紹介します。
こちらはこういう感じから・・・

こんな感じになりました。キッチンと同様にモノトーンを基調にしています。
細かいですが照明が天井埋め込み式に変わったり、カーテンもグレーに変わったりしています。

2階の吹き抜けから見たリビングです。大理石調の床材を貼っています。

雰囲気を揃えるためにダイニングテーブルとダイニングチェアも新調しました(お、お金が・・・💸)。

あと、今まで妻のバッグはDIYで取り付けた棚に置いてたんですが・・・

「もっとスマートにバッグを置きたい!」という妻のリクエストに応えて埋め込み式の棚も作りました。

今回のリフォームで購入したダイニングテーブルはALETTA エクステンションダイニングテーブル(セラミック天板)です。
【セラミック天板】ALETTA(アレッタ)エクステンションダイニングテーブル | DINING,ダイニングテーブル,ALETTA(アレッタ) 【伸長式】 | songdream onlinestore

ダイニングチェアはKANADEMONO Velour - Modernです。
Velour - Modern 華やかな ベロア調 ラウンドチェア – KANADEMONO

床材はDAIKENのハピアフロア 石目柄Ⅱ(鏡面調仕上げ)です。
フローリング・床材 ハピアフロア 石目柄Ⅱ(鏡面調仕上げ)|DAIKEN-大建工業

リフォーム自慢写真は以上です!笑

で、なんでリフォームしたの?

なぜ突然リフォームしたのかというと、家族4人で過ごせる時間があと数年になってしまうかもしれないからです。
息子は高校生、娘は中学生なので、あともう少ししたら大学進学で家を離れてしまう可能性があります。

自宅は新築で建ててまだ10年ちょっとなので、リフォームが必要になるほどの老朽化は進んでいません(むしろまだきれいな方)。
ですが、10年後に「リフォームして家はきれいになったけど、喜んでるのは僕と妻の二人だけ・・・👨🏻👩🏻」になるよりかは、家族4人で楽しい時間を過ごせるようにした方がいいよね 👨‍👩‍👧‍👦、ということで、ちょっと早めのリフォームに踏み切りました。

リビングで一緒に勉強する息子と娘

リフォーム裏話

リフォームはこんなスケジュールで進みました。

2021年2月頃
「リフォームしてみない?」という話が持ち上がる
2021年3月〜4月
打ち合わせを繰り返して設計してもらう
2021年5月
トイレ、風呂、洗面所のリフォームを実施
並行してキッチンとリビングの設計の続き
2021年6月
キッチンとリビングのリフォームを実施

この時期はちょうど「プロを目指す人のためのRuby入門 改訂2版」の執筆時期と重なっていたので、本の執筆と打ち合わせを同時並行で進めるのがめっちゃ大変でした💦

ちなみに、キッチンとリビングの工事期間中は1階が使えなくなってしまうので、家族全員で2階に避難して生活していましたw

家族4人(と犬1匹)が2階で避難生活を送る図です
工事中のキッチンとリビング。さすがにここでは生活できません。。

で、気になる費用はおいくら万円??

リフォームにかかった費用ですが・・・1000万円を超えちゃいました。はい💸
まあ、これだけあれもこれもやったらそれぐらいかかりますよね〜w
お父ちゃん、お仕事がんばるよ〜😭

まとめ

というわけで、今回のエントリでは自宅のリフォームをしましたよ、という話をまとめてみました。
すでに述べたとおり、リフォームを実施したのは去年の話なので、もうかれこれ1年以上経っています。

1年暮らしてみた感想ですが、たくさんお金をかけて、たくさんこだわりを詰め込んでリフォームしたので、めっちゃ快適です!!
妻も自分のコクピットとも言えるキッチンを理想の形にしたので、毎日楽しくお料理しています。
後悔はしていません。むしろ満足しています❤️

そろそろリフォームしてみようかな?と考えている人がいたら、このエントリを参考にしてみてください!

我が家の外観です(でもこっちはリフォームしてない)

伊藤さんの2022年の振り返り(というか1年分の近況報告?)

はじめに

いやあ、気付いたら2022年もあっというまに年末ですね。
今年も公私共に非常に忙しい一年でした…。

2022年は今のところ43本(このエントリを含めると44本)のブログを書いたようです。

とはいえ、実は「あれも書きたい、これも書きたい」と思いながら、書くタイミングを逃して何も書けなかったエピソードがいくつかあります。

今回はそんな「2022年に書きそびれたエピソードたち」をざっくりまとめていきます。

数日前に撮った、本文とは無関係な朝焼けの写真です

【もくじ】

いくつかのコミュニティ活動を休止して、新しいコミュニティ活動を始めた

近年は新型コロナ影響でオフラインで開催する勉強会を開催しにくくなってしまいました。
この半年ぐらいで徐々にオフライン勉強会が復活しつつありますが、個人的には感染のリスクを考えると「うーん」という気持ちになってしまいます。

少なくとも自分が運営しているコミュニティ活動については、この2〜3年全然動けていなかった(し、この先もちょっと不透明)なので、ここでいったん区切りを付けようと思いました。

一方で、会社の有志で新しい勉強会コミュニティを作ったりもしました。

西脇.rbの活動を休止した

2013年からやっていた西脇.rbの活動をいったん休止することにしました。
2018年と2019年は「年一回だけでも集まろう」ということでプログラミング合宿を開催していたのですが、新型コロナとの相性が悪すぎるのでこれも開催できなくなってしまいました。

最後に開催したのは2019年に松江で開催したプログラミング合宿です。
いやあ、あれはめちゃくちゃ楽しかったなあ。新型コロナがなかったらぜひまたやりたいんだけど。

とはいえ、再開の目処が立たないので、いったん「休止」という選択肢を採りました。

Rubyist Connectというwebサービスをクローズした

Rubyist Connectというのは前述の西脇.rbの勉強会で開発&利用していたRailsアプリで、勉強会参加者のプロフィールを掲載することができました。
しかし、勉強会が開けなくなったので利用する機会がほとんどなくなったのと、Heroku有料化の煽りを受けて「使ってないのに維持費だけかかってしまう」という状況になってしまったので、残念ながらクローズすることにしました。(長年お世話になりました🙏)


TokyoGirls.rbを休止してプール金を日本Rubyの会に寄付した

TokyoGirls.rbは「女性も参加しやすい(でも女性限定ではない)Rubyコミュニティ」というポリシーで活動していたRubyコミュニティです。
こちらもやはり「コロナ禍ではイベントを開催しにくい」という理由で2019年12月のイベントを最後に活動が止まってしまいました。
西脇.rbと同様に再開の目処が立たないので、いったん「休止」としました。

ちなみにコミュニティのプール金が少し余っていたので、日本Rubyの会に1万円寄付させてもらいました。

コミュニティの活動は止まってしまいましたが、このコミュニティで作った「自由に再利用&改変可能(CC BY)なアンチハラスメントポリシー」は意外とあちこちのコミュニティで「参考文献」としてリンクを載せてもらっているので、そういうのを見かけると短い活動期間ながらも多少意義はあったかな、と思ったりします。

また、TokyoGirls.rbでは無料で託児室を提供したりしました。

こういった子育て世代へ配慮した勉強会という点でもTokyoGirls.rbは良い実績を残せたんじゃないかと思っています。

Hotwire.loveという勉強会コミュニティを作った

いきなりちょっと寂しい話題が続いてしまいましたが、前向きな活動もあります!
弊社ソニックガーデンの面々と一緒に、Hotwire.loveというHotwireに特化した勉強会コミュニティを今年立ち上げました。

毎月第2・第4木曜日の18時からオンラインで勉強会を開催しています。
ちなみに次回は2023年1月26日に開催する予定です。

勉強会といっても、あまり難しいことは考えず、Hotwireについてワイワイガヤガヤみんなで楽しく話しましょう、というコンセプトでやっているゆるい勉強会です。

初心者でも上級者でも誰でも参加OKなので、「Hotwire、チョットキニナル」という方はふらっと遊びに来てみてください!

ちなみに下の写真は前回(vol.8)に撮った記念写真です(2022年の最後の勉強会なので、"Good-bye 22!"のダブルピース)。


OSS活動

僕はどちらかというとあまりOSS活動が活発でないエンジニアなんですが、今年は例年と違って小粒なコントリビュートをいくつかやったりしていました。

FirestoreをActiveRecordっぽく操作できるgemを作った

ActAsFireRecordBetaというFirestoreをActiveRecordっぽく操作できるgemを作りました。
お遊びでないちゃんとしたgemを作ったのはこれが初めてかもしれません(とはいえ、自分以外の人の利用に耐えられるかどうかは確信がありませんが……)。

こんな感じでFirestoreが操作できるようになります。

# Create
book = Book.new(title: 'An Awesome Book', published_on: '2022-12-01'.to_date, page: 200)
book.save
bool.id #=> IdG0ZWT0I5DucEQuRgoP

# Read
id = 'IdG0ZWT0I5DucEQuRgoP'
book = Book.find(id)

# Update
book.update(page: 210)

# Delete
book.destroy

詳しくはこちらのQiita記事をご覧ください〜。


Ransackで大きな数値を渡されてもエラーが出ないようにした

User.ransack(age_eq: 123456789012345678901)のように非常に大きな数値を渡すとActiveModel::RangeErrorが発生していたのですが、以下のPRでこのエラーが発生しないように修正しました。

ただし、PR自体は6月にマージされたんですが、まだリリースされていません😭

.rspecファイルで # を使った行コメントに対応した

RSpecの設定ファイルである .rspec ファイルは # を使ってもコメントアウトされず、# だけが無視されてその行の設定が有効になってしまいます。たとえば以下のような .rspec ファイルは "--format d" がそのまま適用されてしまいます。

# --format d

この挙動が感覚的ではないので、以下のPRで # を使った行コメントに対応させました。

が、こちらもPR自体は12月10日にマージされたんですが、まだリリースされていません😭

ARGV.getopts でハッシュのキーをシンボルで返せるようにした

Rubyのoptparseライブラリで ARGV.getopts メソッドを使うと必ずハッシュのキーが文字列になってしまうのですが、ハッシュのキーはシンボルにしたいケースが多いので、オプションを指定してシンボルのキーが返るようにしました。

# デフォルトのキーは文字列
options = ARGV.getopts('l', 'w', 'c')
#=> {"l" => true, "w" => false, "c" => true}

# symbolize_namesオプションを渡すとキーがシンボルになる(このオプションを追加した)
options = ARGV.getopts('l', 'w', 'c', symbolize_names: true)
#=> {:l => true, :w => false, :c => true}

Ruby 3.2に取り込まれたら嬉しかったんですが、あと一歩のところで間に合いませんでした😭
optparse gemの次のリリースか、Ruby 3.3で使えるようになると思います。

Ruby 3.2.0のリリースノートにあったサンプルコードのミスを修正した

これはドキュメントの修正なのですが、Ruby 3.2.0のリリースノートに載っていたサンプルコードが間違っていたので、これを修正するPRを送ってマージされました。

# 誤 "\1"はバックスラッシュ記法と解釈されて\x01になる
Regexp.new("^a*b?a*()\1$")
#=> /^a*b?a*()\x01$/

# 正 '\1'なら意図した通りの正規表現になる
Regexp.new('^a*b?a*()\1$')
#=> /^a*b?a*()\1$/

ちなみにPRをマージしてくれたのはMatzさんです!

こちらは無事に反映されています😄


RuboCopの警告メッセージを少し修正した(2022.12.31追記)

RuboCopには未使用のメソッド引数を警告するLint/UnusedMethodArgumentというCopがあります。この警告はRuboCopによって自動修正可能なのですが、その修正内容は「未使用の引数にはアンダーバーを付けるだけ」です。

# 自動修正前
def double(number, other)
  number * 2
end

# 自動修正後(other が _other になった)
def double(number, _other)
  number * 2
end

既存メソッドをオーバーライドしたりする場合はこの対応でいいのですが、未使用というよりも単に不要な引数だった場合はそもそもその引数をなくすべきです。

# 不要な引数はなくしてしまうのが本来正しい対応のはず
def double(number)
  number * 2
end

「どちらの対応が正しいのか、静的解析では判断できない以上、自動修正はしない方が良いのでは」というのが、僕の個人的な考えなのですが、どうも歴史的な経緯等もあってそういう変更はできないようなので、警告メッセージだけを修正するプルリクエストを送りました。具体的には下線部の一文「もしその引数が不要なら削除してください」を追加する、というものです。

Unused method argument - some_arg. If it's necessary, use _ or _some_arg as an argument name to indicate that it won't be used. If it's unnecessary, remove it.

このプルリクエストがちょうど2022年の大晦日にマージされました🎉

github.com

アウトプット活動

2022年アウトプット活動はこんな実績になりました。

ブログ執筆は44本、うち4本がランクイン

ブログの執筆は前述のとおり今年は44本書きました。

そのうち以下の4本が「今週のはてなブログランキング」にランクインしました。


Qiita記事の執筆は34本、2022年もなんとかユーザーランキング1位

Qiitaから送られてきた「2022年 振り返りレポート」の内容をシェアします。


  • Contribution = 6,309
  • 書いた記事数 = 34
  • 読まれた数 = 1,454,005
  • いいねされた数 = 4,653
  • ストックされた数 = 3,258

いいねの多かった記事ベスト3

あと、2022年もユーザーランキング1位をキープできました。

とはいえ、じわじわと2位との差が詰まってきているので、来年の今頃はどうなってるやら??

登壇活動等は全部で7件

自分のブログとQiita以外のアウトプットとしては次のような7件の活動がありました。
今年はあまり登壇活動はやってなかったような気がしましたが、こうやって振り返ると意外とやってましたね〜。

  • Qiita Advent Calendar Online Meetup(オンライン登壇)
  • 銀座Rails#41(オンライン登壇)
  • 電脳会議 Vol.212(記事寄稿)
  • なぜエンジニアは、惜しみなく知見をシェアするのか?(NewsPicks 対談記事)
  • エンジニアストーリー by Qiita(ポッドキャスト出演)
  • VeriServe Test Automation Talks No.3(オンライン登壇)
  • DevRel Meetup in Tokyo #78 〜商業技術書出版を学ぼう〜(オンライン登壇)

具体的な活動内容は以下のエントリにまとめてあります。

あと、あまり公にはしておりませんが、今年からMENTAで有料相談を受けられるようにもしてみました。
「RSpecの書き方を知りたい」「RubyやRailsに関する技術相談」「アウトプットのコツ」「キャリア相談」等々、僕に個人的に聞いてみたい内容があればMENTAを検索してみてください。

その他:息子が21世紀枠で来年春のセンバツで甲子園に行けるかもしれない

これは僕自身の話ではなく子どもの話です。
息子は小学校の頃から野球をやってるんですが、その息子が所属している兵庫県立小野高校野球部がセンバツ21世紀枠候補の近畿代表に選出されました。

小野がセンバツ21世紀枠候補の近畿代表に選出 創部100年で初聖地出場なるか(デイリースポーツ) - Yahoo!ニュース

野球に興味がない人はあまり知らないと思うんですが(というか僕も知らなかった💦)、春のセンバツでは各都道府県の代表とは別に「21世紀枠」という特別枠があり、そこに全国から3つの高校が出場できるようになっているんです。

このブログの執筆時点ではその候補が9校まで絞り込まれていて、そのうちの一校が息子が所属している小野高校です。
ということは?3分の1の確率で?息子が甲子園に行けるかもしれない!?

21世紀枠で甲子園に行ける3校は来年の1月27日に発表されるそうです。
いったいどういう結果になるかわかりませんが、息子は毎日頑張って練習しているので甲子園に行けたら嬉しいなと密かに思っています。

でも、運動嫌いで根っからの文化系人間だった僕の息子が、どうして野球部という超ハードな体育会系の部活をやってるんでしょうか??僕はいまだに不思議でなりません😅

まとめ

というわけで、今回は2022年の近況報告をぐわっとまとめてあれこれ書いてみました。
ちなみに、Twitterのフォロワー数やブログの購読者数はこんな感じになってます(2022年12月29日時点)。

  • Twitterのフォロワー数 = 11,868
  • このブログの購読者数 = 2,226
  • Qiitaのフォロワー数 = 5,330

フォロワー・ブログ購読者のみなさん、いつもありがとうございます!
来年もみなさんのお役に立つアウトプットができたらと思っていますので、引き続きよろしくお願いします。

まだフォロー or 購読されてない方はこのタイミングでポチッとフォロー・購読ボタンを押してもらえるとありがたいです❤️

さて、2023年はいったいどんな一年になるんでしょうか?
息子と娘が二人同時に高校受験&中学受験なので、プライベートがかなり忙しくなりそうな予感……。

2023年は僕個人がどうこういうよりも、コロナだとか戦争だとか、暗いニュースがちょっとでも減って、平和で健康な世界が戻ってきてくれたらいいのになあ、と思う今日この頃です。

僕自身も健康に気を付けながら頑張っていこうと思います。(そのためにはちゃんと運動しなきゃ💦)
それではみなさん、良いお年を!

MacBook USキーボード+Boot Camp or VirtualBox+Windows 10で左右コマンドキーを使ってIMEを切り替える方法

はじめに

僕はMacユーザーです。さらにUSキーボードユーザーです。

MacのJISキーボードではスペースバーの左右に「英数」キーと「かな」キーがあり、これでIMEを切り替えることができます(英数でIME-オフ、かなでIME-オン)。
しかし、USキーボードの場合、スペースバーの左右にはコマンドキーが配置されており、「英数」と「かな」はありません。
そこで僕はKarabiner-Elementsを使って左右のコマンドキーにそれぞれ「英数」と「かな」を割り当てています。

さらに、頻度はそこまで多くありませんが、たまにMac上でWindowsを使う場合があります。
Windowsを起動するのはBoot CampでOSごと切り替えてしまう場合と、VirtualBoxを使ってmacOS内でWindowsを立ち上げる場合の2パターンがあります。

Mac環境と同じように、Windowsでも左右のコマンドキーでIMEを切り替えたいな〜と思ったので方法を調べてみました。

左右コマンドキーでWindows IMEを切り替える方法

PowerToysの設定

Windows上でPowerToysというツールをインストールします。

learn.microsoft.com

PowerToysを起動し、左サイドメニューの「Keyboard Manager」を選択、それから「キーの再マップ」を選択します。
プラス(+)ボタンをクリックし、以下の設定を追加します(VirtualBoxの場合は注意点があるので後述します)。

  • Win (Left) → IME Non-Convert
  • Win (Right) → IME Convert
  • Caps Lock → Win (Left)

設定が完了すると次のようになります。

なお、「Caps Lock → Win (Left)」はWindowsキーに相当するものがなくなってしまうので、ふだん使わないCaps LockキーにWindowsキーを割り当てただけです。この設定は任意です。

Windows IMEの設定

次に、画面右下のIMEアイコンを右クリックし、設定を開きます(注:僕が使っているIMEはWindows標準のIMEです。Google 日本語入力ではありません)。

「キーとタッチのカスタマイズ」をクリックします。

「キーの割り当て」で以下のように設定します。

  • 各キーに好みの機能を割り当てる = オン
  • 無変換キー = IME-オフ
  • 変換キー = IME-オン

これでWindows環境でも左右コマンドキーを使ってIMEが切り替えられるようになるはずです。

VirtualBoxの場合の注意点

VirtualBox上でWindowsを動かしている場合は、デフォルトで左コマンドキーがHost Keyに割り当てられていると思います。
そのため、左コマンドキーを押してもIMEが切り替わりません。
そこで(ふだんHost Keyを使っていないことが前提ですが)左コマンドキーのHost Key設定を解除します。

Virtual Boxの画面左下にある⬇️ボタンをクリックします。

Host Key Combination欄にある消しゴムマーク(?)をクリックします。

"None"に変わったらOKボタンをクリックして変更を確定します。

これでVirtualBox上でも左コマンドキーでIME-オフが実現できます。

確認環境(Boot Camp)

  • MacBook Pro 13-inch, 2017
  • Windows 10 Home
    • バージョン 22H2
    • OS ビルド 19045.2311
    • エクスペリエンス Windows Feature Experience Pack 120.2212.4190.0
  • PowerToys v0.65.0

確認環境(VirtuaBox)

  • MacBook Pro 13-inch, 2017
  • macOS Ventura 13.0.1
  • VirtualBox 7.0.4 r154605 (Qt5.15.2)
  • Windows 10 Home
    • バージョン 21H2
    • OS ビルド 19044.1645
    • エクスペリエンス Windows Feature Experience Pack 120.2212.4170.0
  • PowerToys v0.65.0