仕事猫キーボード計画

f:id:kurokawanushi:20220124191948j:plain
自作したキーボードにつける、お気に入りデザインのキーキャップを作った時の記録です。
ちなみに適合するキーキャップはCherryプロファイルの十字軸受のものです。
他のキーキャップって自作できるのかな?

※今回は仕事猫グッズのイラストを再利用しました。
仕事猫はくまみねさんのキャラクターです。
kumamine.blogspot.com

用意したもの

  • UVレジン
  • キーキャップのシリコン型
  • シリコンマット : マットの上でレジン流し込み作業と硬化作業を行う
  • 爪楊枝 : 気泡つぶし用
  • UVLEDライト
  • 段ボール箱 : 光硬化させるときに、UVライトを覆うために。
  • キーキャップを装飾するための、キャップ内に封じ込める絵
  • 作業用手袋 : 硬化前のレジンはアレルギー物質なんだそうですよ。直接触らないようにしました。

ユザワヤや、東急ハンズで大体揃います。
キーキャップのシリコン型は、自作キーボードショップの遊舎工房さんや、通販で買えます。

キーキャップ シリコン型shop.yushakobo.jp

キーキャップに入れる絵を切り出す

今回は、以前購入したトイズキャビン様のガチャガチャ、仕事猫スタンプ2に封入されていた説明書のイラストを再利用させていただきます。捨てずにとっておいてよかった。
f:id:kurokawanushi:20220124011411j:plain

toyscabin.com

f:id:kurokawanushi:20220124011420j:plain キーキャップに収まるように切り抜きます。
キーキャップはわりと小さいです。シリコン型のサイズを見て、ちまちまと切り出しましょう。

シリコン型にUVレジンを流し込む

シリコンマットを敷いた上で作業します。シリコンマットの上ならこぼれてもかんたんに剥がれるから安心。
キースイッチの十字軸受側と、キートップ側に流し込みます。 f:id:kurokawanushi:20220124191932j:plain キートップ側に1~2mmほど流し込んで、気泡を爪楊枝で潰したら、切り抜いた絵を入れ、更にその上からレジンを流し込みます。

終わったらシリコン型をキートップ側と軸受側をあわせる。
たい焼きみたいに、レジンがはみでても気にしない。

硬化させる

シリコンマットごと、段ボール箱の中に入れます。
シリコン型の上にUVライトをのせて、電源ON!
蓋を閉めて待ちます。(UVの光が漏れるのが嫌だったから)
気が済むまで紫外線をあてます。
シリコン型を裏返して、まんべんなく光を当てるといいぞ!
裏面に光を当てないと、写真みたいに波打った状態になっちゃうぞ!
f:id:kurokawanushi:20220124011132j:plain

取り出す

世界に一個、私だけのキーキャップのできあがり。
プラモ用ニッパーとかで、バリを取ろう。
こんなに簡単に作れちゃっていいのかよ!
yada~kawaii~

f:id:kurokawanushi:20220124011140j:plain

うっかりサーバをダウンさせそうなキーキャップができました。

ヨシ!

Ubuntu - 解像度の異なるモニタの倍率を個別設定する

Surface Pro6 に入れているUbuntuSurfaceの本体ディスプレイは高解像度のため、倍率100%だと絵も字も小さすぎてつらい。

本体ディスプレイを倍率200%にすると、外付けの24インチフルHDモニタまで倍率200%になり、字も絵も巨大化してしまい、これも使いづらい。

画面100%の場合は本体モニタのアイコンと文字が小さすぎる
画面200%の場合は24インチフルHDモニタのアイコンがでかすぎる
f:id:kurokawanushi:20201212053452p:plain 解像度200%にした状態。
下のモニタ(高解像度)はちょうどいいサイズだが、上はフルHD解像度でしかないため、画面に対しアイコンが巨大化。

この問題を解決する、

外付けフルHDディスプレイ : 100%
本体ディスプレイ : 200%  

↑の状態をディスプレイごとに個別設定するための方法。

WindowsだとGUIから設定できるが、 Ubuntu(というかxranderを使える環境)ではxrandrで設定する。

前提

Ubuntuの設定で、モニタ倍率200%にした状態から設定を行う。
※24インチフルHDモニタのアイコンや字がでかい状態。

xrandrで個別にscaleを設定する

ターミナルからコマンド実行、接続しているディスプレイの解像度と位置座標を取得する。

$ xrandr

Screen 0: minimum 320 x 200, current 2736 x 2904, maximum 8192 x 8192
eDP-1 connected primary 2736x1824+0+1080 (normal left inverted right x axis y axis) 260mm x 173mm
   2736x1824     59.96*+
   2560x1600     59.97
   2560x1440     59.96    59.95
(省略)

DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
DP-2-1 connected 1920x1080+413+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x1080     60.00*+  74.97    50.00    59.94
   1680x1050     59.88
(省略)

connected となっているモニタを見る。

これが本体ディスプレイ(多分)

eDP-1

2736x1824+0+1080
解像度横幅 : 2736
解像度縦幅 : 1824
X軸原点 : 0
Y軸原点 : 1080
※画面の上方向にフルHD外付けモニタを配置しているので、そのぶん1080pixel下に本体モニタが存在する

外付けフルHDモニタ

解像度横幅 : 1920
解像度縦幅 : 1080
X軸原点 : 413
Y軸原点 : 0
※外付けモニタのほうが解像度が低く、上下に並べると左端が内蔵モニタよりも413pixelぶん右にある(私の設定では)

外付けモニタの倍率を変更、原点座標を変更する。

$ xrandr --output DP-2-1 --scale 2x2 --pos 207x-1080

DP-2-1(外付けモニタ) --scale 2x2 サイズ二倍にする --pos モニタサイズを倍にしたので、左端座標を207に変更、上端を1080pixel上に移動する

※--pos を指定しないと、外付けモニタと内臓モニタの表示部分が一部重複して、部分的に画面ミラーリングした状態になる。

kurokawanushi.hatenablog.com

Ubuntuのキーボード配列をUS101からJP106にしたメモ(mozc)

以前Ubuntuを入れてデュアルブートにしたSurfacePro6、しばらくUS配列のキーボードを繋いでいた。
だが外出時の持ち出しはSurfaceタイプカバー。日本語しかない。

キーバインドを覚えているから、記号も入力できないことはないが、さすがにめんどくさくなったので、物理キーボードもキーバインドも日本語に戻すことにした。

日本語入力環境

mozc を使ってます。Google日本語入力の予測変換がラクなんだもの。

英語キーバインドにした際の参考サイト

こちらを参考にさせて頂きました。
golang.hateblo.jp geek-memo.com

うまくいかなかった例

$ sudo dpkg-reconfigure keyboard-configuration

このあと応答がない。
なんにもされないまま、プロンプトが帰ってくる。何が起こっているの?

正解

$ sudo localectl set-keymap jp106

これでキーマップがjp106に戻る。
その後、layoutを手動で変更する。

$ sudo vim /usr/share/ibus/component/mozc.xml

↓こうする

<layout>jp</layout>

これ、参考にしたサイトだと↓こう "ja" になってるんですよね。
うちの環境だと "jp" にしないと認識しなかった。

<layout>ja</layout>

f:id:kurokawanushi:20201126015644p:plain

おしまい。

kurokawanushi.hatenablog.com

kurokawanushi.hatenablog.com

Raspberry Pi でノクトビジョン、暗視ゴーグルを作った (3)

ほんとは真っ暗だけど、赤外線カメラの映像で周りが見える。
これが犬・猫・エルフの視界…!

そんなわけで、暗視ゴーグルに使ったパーツです。

ラズパイ本体

当時は3Bが最新だったけど、今なら3B+でいいんじゃないですか? https://www.amazon.co.jp/dp/B07BFH96M3/www.amazon.co.jp

7インチモニタ

これを選んだのは、ラズパイ本体をマウントできるネジ穴が付いてるから https://www.amazon.co.jp/dp/B06XSQZ573/www.amazon.co.jp

つけかた
f:id:kurokawanushi:20190426020005j:plain:w300

赤外線カメラ

赤外線ライト付き
長時間使用でめっちゃ熱くなります。 https://www.amazon.co.jp/dp/B06XTQZCWX/www.amazon.co.jp

ヘッドセット

ラズパイ、7インチモニタ、赤外線モジュール、そしてバッテリの重量に耐えられるように、しっかり頭にマウントできるやつ。

https://www.amazon.co.jp/dp/B07NJFH5DC/www.amazon.co.jp

モバイルバッテリー

以前買ったやつは絶版。これが後継みたいなんだけど、
よく見たらこれ、アンペアが足りてない。 https://www.amazon.co.jp/dp/B01LC5EDKO/www.amazon.co.jp

過去記事

kurokawanushi.hatenablog.com

kurokawanushi.hatenablog.com

RealForce R2 黒のテカリ問題と対処

以前買ったキーボードRealForceR2の黒マット仕上げ、
こんなかんじで皮脂テカリみたいになるんです。Eキーの手前のところ。 f:id:kurokawanushi:20190330222138p:plain:w300
めだつ

あと、まわりのフレームの塗装がはげはじめました。
f:id:kurokawanushi:20190330222232p:plain:w300
僕だけなのかと思って調べていたら、あるブログで同様の人が何人もいるらしいと書かれていた。
というかその中に僕のツイートもあった。

下の方、[筐体の塗装がハゲる]ってところ。
pasokatu.com

自分、皮膚科で出してもらった薬を手に塗ってるんですが、それが影響してるんでしょうか。
でも多分普通の皮脂でもなる。
テカる。とにかくテカる。
テカるのが嫌なので、一日に何回もふいてる。
しかし手に薬塗ってるから、またテカる。

そんなわけで皮脂汚れ対策です。
とりあえずキムワイプキムワイプ+アルコール、無印良品の不織布メガネ拭きをためしました。
f:id:kurokawanushi:20190330222411p:plain:w300
ファイッ

その結果

武器 汚れとれ具合
キムワイプ あんまりとれなかった。
油汚れをひろげてるだけ
キムワイプ+アルコール あんまりとれなかった。
アルコール揮発後、油がまんべんなく広がってる
無印良品携帯メガネ拭き いちばんよくとれる。
油をメガネ拭きの不織布が吸い取ってる

この無印良品携帯メガネ拭き、恐るべき皮脂拭き取り性能でメガネの虹色油汚れもがっちりキャッチだし、コンビニで買ったサラダドレッシングをこぼしても元の状態に戻せるくらい、油の吸着性能が高いです。超おすすめ!

以前、サラダドレッシングをこぼした、同じく無印の鏡。 フレーム部分に派手にごま油ドレッシングがかかったが、分解して無印メガネ拭きでお掃除したら元の状態になりました。すごすぎる。

f:id:kurokawanushi:20190330223922j:plain

Raspberry Pi でノクトビジョン、暗視ゴーグルを作った (2)

Raspberry Pi でノクトビジョン、暗視ゴーグルを作った (1)

Raspberry Pi でノクトビジョン、暗視ゴーグルを作った (1) - 黒川文書

のつづき。

[赤外線piCamera] - [raspberryPi] - [7インチモニタ] こんなかんじでつなぎます。

f:id:kurokawanushi:20190324195223p:plain:w300
こんな感じで、7インチモニタに左右の画像を投影します。
視差は考慮しないことにします。
うっすら闇に写っているのは、ぐんまちゃんのぬいぐるみ。 ナイトビジョンにぬいぐるみが映るとホラー映画みたいですんごい怖い。

f:id:kurokawanushi:20190324195334p:plain:w300
スマホ入れる形式のVRゴーグルの形状。 左右の目に対応するレンズが独立してます。

この画面に、VRゴーグルをべったりつければ、画像が目に見えるというわけです。

コード

import cv2
import numpy as np
# for PiCamera
from picamera.array import PiRGBArray
from picamera import PiCamera
import time

# for PiCamera capture
cam = PiCamera()
cam.resolution = (320 , 240)
cam.framerate = 32
rawCapture = PiRGBArray(cam, size=(320, 240))

# init view windows right left
cv2.namedWindow("leftEye")
cv2.namedWindow("rightEye")
cv2.moveWindow("leftEye",50, 150)
cv2.moveWindow("rightEye",425, 150)

time.sleep(0.1)

# capture raw frame from picamera
for frame in cam.capture_continuous(rawCapture, format="bgr", use_video_port=True):
    image = frame.array
    cv2.imshow("leftEye", image)
    cv2.imshow("rightEye",image)

    key = cv2.waitKey(1) & 0xFF
    rawCapture.truncate(0)
    if key == ord("q"):
        break

cv2.destroyAllWindows()

(いらない処理消し忘れてた)

piCameraの映像をrawCaptureするところは以下のサイトを参考にさせて頂きました。

https://www.pyimagesearch.com/2015/03/30/accessing-the-raspberry-pi-camera-with-opencv-and-python/www.pyimagesearch.com

使用した部品や実際の映像は次回のっけます。

kurokawanushi.hatenablog.com

Vimがフリーズしたような気がする対処

クソ雑魚い思い出ですが、誰もが通る道だと思ったので自戒をこめて記録に残すことにしました。

vim使い始めた頃、なんにも操作を受け付けてくれなくなったことがありました。
f:id:kurokawanushi:20190314233406p:plain:w300

原因はWindowsのエディタ感覚でうっかり Ctrl + s を押してしまいターミナル出力ロックがされてしまったため。 vimだけでなく、Linuxターミナルで操作中なら Ctrl + s でいつでも発動する。 もとに戻すには Ctrl + q を押すだけ。
f:id:kurokawanushi:20190314233517p:plain:w300
(当時の状況を再現)

焦った私が入力した文字が表示される。はずかしい。