投稿者名:TOKIDA

このサイトは備忘録であるとともにIT界隈の人に情報をお返し出来たら良いなぁという物です。

Waylandで簡単にMouseのボタンにキーを割り当てる

やりたいことは、マウスについてる追加のボタンの操作でワークスペースを上下に移動したい。ということです。POP_OS上の設定でGnomeのそれぞれのアクションを ctrl+super+pageUp/Down に割り当てていることを前提にしています。

sudo apt install input-remapper

input-remapper-gtk コマンドでGUIを起動することが出来ます。

右の change key をクリックし、実際のボタンを押してその後 keyboard の箇所で設定をすることになります。

上のように、バインドするキーは手入力ですがサジェストが出てくるので困らないと思います。Applyがボタンになっているので押すと設定がされます。

autoload をONにして、Apply を押しておけば問題ありません。これだけで簡単にマッピングできます。

変更できる選択肢には input デバイスが皆出てきているので意外な使い方ができるかもしれませんね。ちょっとしたマクロなどは こちら を参考に設定することができそうです

[Linux]udevを使ってUSB Keyboard のキーマップを変更する.

Linuxのキーマップを変更する方法はいくつかあるのですが、Xの設定ですると意外にハマるので udevを使って根本から変更していきます。

  • USB KeyBoard : NIZ ATOM66
  • OS : POP OS 22.04

最終的なものは以下のファイル /etc/udev/hwdb.d/90-bluetoothkey.hwdb を作成します

evdev:input:b0005v05ACp0110e0100*
  KEYBOARD_KEY_700e6=rightalt
  KEYBOARD_KEY_700e4=hiragana
  KEYBOARD_KEY_700e3=katakana
  KEYBOARD_KEY_700e2=leftmeta
  KEYBOARD_KEY_700e0=capslock
  KEYBOARD_KEY_70039=leftctrl

設定内容を更新するためには systemd-hwdb update && udevadm trigger で実施します

設定ファイルの中身を見ていく前に、1行目の evdev のあとの番号を調べるのが結構手間なのですが以下のコマンドを実行してからBluetoothを接続すると情報がだらだらっと出てきます。これの input の項目が該当します。

❯❯❯ sudo udevadm monitor --environment | grep -i modalias
MODALIAS=hid:b0005g0001v000005ACp00000110
MODALIAS=input:b0005v05ACp0110e0100-e0,1,2,3,4,11,14,k71,72,73,74,77,7D,7E,7F,80,82,83,85,86,87,88,89,8A,8B,8C,8E,8F,90,96,98,9B,9C,9E,9F,A1,A3,A4,A5,A6,A7,A8,A9,AB,AC,AD,AE,B1,B2,B5,CE,CF,D0,D1,D2,D4,D8,D9,DB,E0,E1,E4,E5,E6,EA,EB,F0,F1,F4,100,161,162,166,16A,16E,172,174,176,177,178,179,17A,17B,17C,17D,17F,180,182,183,185,188,189,18C,18D,18E,18F,190,191,192,193,195,197,198,199,19A,19C,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA,1AB,1AC,1AD,1AE,1AF,1B0,1B1,1B7,1BA,240,241,242,243,244,245,246,247,249,24A,250,251,r6,C,a20,m4,l0,1,2,3,4,sfw
MODALIAS=input:b0005v05ACp0110e0100-e0,1,2,4,k110,111,112,r0,1,8,B,am4,lsfw
MODALIAS=hid:b0005g0001v000005ACp00000110
MODALIAS=hid:b0005g0001v000005ACp00000110
MODALIAS=input:b0005v05ACp0110e0100-e0,1,2,3,4,11,14,k71,72,73,74,77,7D,7E,7F,80,82,83,85,86,87,88,89,8A,8B,8C,8E,8F,90,96,98,9B,9C,9E,9F,A1,A3,A4,A5,A6,A7,A8,A9,AB,AC,AD,AE,B1,B2,B5,CE,CF,D0,D1,D2,D4,D8,D9,DB,E0,E1,E4,E5,E6,EA,EB,F0,F1,F4,100,161,162,166,16A,16E,172,174,176,177,178,179,17A,17B,17C,17D,17F,180,182,183,185,188,189,18C,18D,18E,18F,190,191,192,193,195,197,198,199,19A,19C,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA,1AB,1AC,1AD,1AE,1AF,1B0,1B1,1B7,1BA,240,241,242,243,244,245,246,247,249,24A,250,251,r6,C,a20,m4,l0,1,2,3,4,sfw
MODALIAS=input:b0005v05ACp0110e0100-e0,1,2,4,k110,111,112,r0,1,8,B,am4,lsfw
MODALIAS=hid:b0005g0001v000005ACp00000110

次にどのキーを変更するかは evtest でわかります。適切なInputを選択します。

❯❯❯ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
 (略)
/dev/input/event19: Bluetooth Keyboard
/dev/input/event20: Bluetooth Keyboard Mouse
Select the device event number [0-20]: 19
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x5ac product 0x110 version 0x100
Input device name: "Bluetooth Keyboard"
Supported events:

キーボードのキーを打つと以下のように出てきます。この1行目の最後の値がキーコードになります。以下の例では 700e4 が該当します。これを hiragana キーに変換しているという内容です。

Event: time 1673948095.958733, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e4
Event: time 1673948095.958733, type 1 (EV_KEY), code 91 (KEY_HIRAGANA), value 0
Event: time 1673948095.958733, -------------- SYN_REPORT ------------

以上で変更ができます。updateコマンドを実行するのをお忘れなく

LinuxでType-C で充電されているかを確認する

本当にしたかったことはType-CからPDで何Wで供給されているかを知りたかったのですが調べてもわかりませんでした(Displayからの供給が非常に低くなっていて原因を知りたかったのだが)

Type-CであってもLine(ACアダプター)であっても同じ(ということに気がついてなかった)ですので以下のコマンドで接続されているかを確認できます

❯❯❯ upower -i /org/freedesktop/UPower/devices/line_power_AC0
native-path: AC0
power supply: yes
updated: 2023年01月16日 22時49分33秒 (2 seconds ago)
has history: no
has statistics: no
line-power
warning-level: none
online: yes
icon-name: 'ac-adapter-symbolic'

上記の online を確認します。Type-CからでもACからでも接続されていたらYesとなります。

nginx のアップロードサイズ制限の変更(client intended to send too large body)

画像をアップロードしようとしたら「返答が正しいJSONレスポンスではありません」というエラーが表示されました。ログを見てみると client intended to send too large body: というエラーが nginxで表示されてました。

server {
    listen 80;
    listen [::]:80 default_server ipv6only=on;
    server_name localhost;
    root /usr/share/nginx/html;
    index index.php index.html;
    client_max_body_size 10M;
(略)

nginxの設定で初期は1Mになっているのでこの部分を変更しておきます。(PHP側でもサイズのUpload制限があるので変更をしておきますがNginx側でも必要なことをすぐに忘れてしまいます)

「THE MAX TOUGH(ザ マックス タフ) & DEFENSE(ディフェンス)天然ゴム背抜き手袋」で外の掃除も楽に

週末に園芸したり雑に外の掃除したりするのに手袋は画期的に便利だった。


ワークマンでわずか299円であるということを考えると買わない手はないですね。

  • 値段が安い
  • 頑丈で雑に地面に散らかった落ち葉などをザザーっとまとめてもも平気
  • しかし「薔薇」の棘を真面目に握れば穴が開く(苦笑)
  • 手首の部分までガードされている
  • 麻紐も頑張れば結べる
  • 暖かいので冬には普通に便利

https://workman.jp/shop/g/g2300061905015/

あまりこういうのを買わないのですが道具を適切に使うとしなければいけないこと(掃除など)もしやすくなるので良いですね。

ワークマンこの手の取り扱いが大量に有りますね。店舗にも壁一面手袋でちょっと驚きました。他のものもどんな感じなのか使ってみたいです。一番安いのは99円ですし199円などもあるので100均で買う前に覗いてみると良いと思います。

上部へスクロール