投稿

TrackPoint Keyboard (トラックポイント キーボード)の中ボタンを無効化する

イメージ
分割キーボードなどの自作キーボード界隈にちょっと足を踏み入れたのですが、結局TrackPoint Keyboardを買ってしまいました。 とはいえ、無線ではなくUSBです! どうせ、デスクトップで使うし、無線はバッテリー 切れとか面倒くさいので…… Kubuntu24.04で利用し始めたのですが! スクロールする時に 例の 中ボタンでのペースト 機能がタイミングによっては働いてしまうことがあるのです。 で、 ノートパソコンと同様にxinputで、無効に しようとデバイスリストを表示させたら! なんと!  " Lenovo ThinkPad Compact USB Keyboard with TrackPoint " という同一デバイス名が4つもあるではないですか! 同一デバイス名が4つ $ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ oyainput id=14 [slave pointer (2)] ⎜ ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=12 [slave pointer (2)] ⎜ ↳ ELECOM ELECOM BlueLED Mouse id=7 [slave pointer (2)] ⎜ ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard ...

Python venvで、pythonのバージョンを指定したい

Python3.3以降、仮想環境のvenvが導入 されています。 以前は virtualenv を使ってましたが、もうPython2とかを開発することはないので・・・ venvを使っていこうと心に決めました(笑) で、仮想環境を作ろうと思い次のようにコマンドを入れました。 仮想環境を作る $ python -m venv project $ cd project $ . bin/activate (project) $ python -V Python 3.10.12 もちろんうまく行きますよね!現在の環境はPython3.10.12ですから、これで正解です。 そんでもって、違うプロジェクトで、 Python3.4環境が必要 となりまして、 Python3.4をインストール後以下のコマンドを叩いてみると!! Python3.4の仮想環境を作る(失敗) $ python -m venv -p python3.4 project3.4 usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] [--upgrade-deps] ENV_DIR [ENV_DIR ...] venv: error: unrecognized arguments: -p はい、エラーがでました!! ん?なんで、virtualenv時代はこれで良かったのに!! -p オプションがない なんて!! 使えないなぁ・・・virtualenvでは使えたのに・・・ なんて思った 私のほうが使えないやつ でした(笑) 年取ると頭が固くなるのだよ! よ〜く考えたら、-p オプションなんていらないのでした! だって、今は venvをモジュールから実行している のだから・・・ そう、ここでの python コマンドは python3.10.12 へのシンボリックリンクじゃん。 つまり、Python3.4環境が欲しければ、 python3.4上でモジュールを実行するだけだった のです!! 自分の頭の固さが嫌になりますな☆ Python3.4の仮想環境を作る(...

ファイルに行番号を付けて表示したい

行番号を付けてテキストを表示したいと思った! 特に意味はない。思いついただけ・・・ で調べてみると・・・ sed コマンドを使って出来るようです。 もっと調べたら、 cat コマンドに -n オプションをつければいいらしい・・・おわり。 で、これでは楽しくないので、車輪の再発明になるが、 sed コマンドを使ってやってみようと思います。 以下のファイルに行番号を付けてみる感じで・・・ 内容は気にしないことに。 test.txt [My favorite video games] * "Super Mario Bros." * "Legend of Zelda" * "Metroid" * "Castlevania" * "ASSASSIN'S CREED" * "Horizon Zero Dawn" * "Horizon Forbidden West" * "Ghost of Tsushima" * "Rise of the Ronin" * "WILD HEARTS" まずは、sed を使ってみる。    sedで行番号表示 $ cat test.txt|sed = 1 [My favorite video games] 2 * "Super Mario Bros." 3 * "Legend of Zelda" 4 * "Metroid" 5 * "Castlevania" 6 * "ASSASSIN'S CREED" 7 * "Horizon Zero Dawn" 8 * "Horizon Forbidden West" 9 * "Ghost of Tsushima" 10 * "Rise of the Ronin" 11 * "WILD HEARTS" 確かに表示できる! でも、行番号で改行されちゃう・・・ なので、sed のサブコマンド ...

調子にノって、gitを使う・・・(ブランチ名を表示したい)

今更ながら、gitですよ! 大昔にちょっと使ったんですが、一人で作って一人で遊ぶ分には、 バージョン管理いらないかなと思ってしまって・・・バカでした (笑) 結局、 OLDみたいなサフィックスがついたファイルが大量に作られていく。。。 この管理のほうが面倒になってきてしまった。 んで、やっぱり、要りますなバージョン管理・・・ というわけで、お家サーバにgitのリモートリポジトリを設定することにしました! GitHubじゃないところはご愛嬌☆ すっかり、コマンド等も忘れてしまい、この機会にうろ覚えだったgitの仕組みも勉強しようかと・・・ で、実際にシェルで作業していると、ブランチ名が表示されていると嬉しいなと・・・ まあ、世の中にはそんな人は居ることは百も承知ですが・・・ かる〜く調べてみると Ubuntuとかでgitをインストールすればbash用の__git_ps1関数も一緒に付いてくる らしいです。 でもこの関数は、ちょとリッチすぎました!書式を指定できたり、云々・・・ そんなに機能はいらないし・・・ まあ、なんだかんだで、 車輪の再発明をしようではないですか!! 勉強がてら・・・ gitのブランチ名を取得する まずは、gitのブランチ名を取得したいと思います! gitのbranchコマンドを叩けば、ブランチの一覧が表示され、カレントのブランチ名の前には'*'が付加されています。 ここを取り出したいので、ここは、sedコマンドに登場していただきます・・・ ブランチ名の取得 $ git branch --list dev * master $ git branch --list|sed -ne 's/^\*\s*\(\.*\)/\1/p' master めでたく、取り出せました! まあ、'\s'のあとの'*'は冗長かもしれませんが・・・ bashに設置する bashに設置しようしとして、初めはsedの出力をそのまま使ってみたのですが・・・ そりゃそうでしょ、という結果に・・・ .bashrc(失敗) branch=$(git branch --list | sed -ne 's/^\*\s*\(\.*\)/\1/p') PS1='\u@\h{$branch}...

Raspberry Pi Pico互換ボード - YD-RP2040

イメージ
とってもお安いRaspberry Pi Picoの互換ボードを買ったので、ここに記しておくこととする。 Aliexpressのセールで、YD-RP2040が250円で買えたよ! ラッキー! しかも、 Flashメモリが16MB版 ですぜ! 前に買ったときは、4MB版で330円でした! 今はドル高だから、Raspberry Pi Picoが800円ぐらいするからな・・・ Pico互換ボードなので、ピン互換性は完全ではありません!   Pin35 : ADC_Vref ⇒ GP29   Pin37 : 3V3_EN   ⇒ GP23 と、変更されてます。 あと、 USERスイッチ が GP24 に、 WS2812 (LED)が GP23 に割り当てられていて、GPIOが余すところ無く、全て使われています。 はっきり言って、Picoより使いやすい!! それと、デバッグポートに3V3が来ているのも非常によい★ すべてのピン配列は、 Googleでどうぞ ! WS2812はPin37とGP23を共用しているので、 WS2812を使うときは WS2812の右上の R7をジャンパ しましょう。(ロットによっては表記がR7じゃなく、RGBなものもある) まあ、互換性についてはPicoを買う予定はないので、気にしな〜い・・・ しかし、『 Raspberry Pi Pico 』って名称は何とかならなかったのかね〜 Raspberry Pi がかぶってて、検索しづらいって・・・ Raspberry Pico でよかったよなぁ〜絶対に・・・ では、PlatformIOでこのボードを使っていこうと思いますが、 それはまたのお話で・・・ おしまい

導通チェッカー (ATtiny13A使用)

イメージ
テスターが重いので、導通チェックだけのためにいちいち取り出すのが面倒になった私! ならば、導通チェッカーを作ろう!と思い立ち、トランジスタで簡単なものを組もうと思ったのだが・・・ 自分で作る前に、世の中の人に聞いてみることに! 簡単なものは、防犯ブザーを改良して・・・みたいなのがあったけど・・・ 測定電圧に何ボルトかかるかも怪しいので、逆電圧をかけた場合を考えると、これはやめたほうがいいだろう・・ 高機能なものになると、回路がやたら複雑になって、作るの面倒くさいなあ・・・ と思ってたら!! 素晴らしく簡単で、マイコン使ってて高機能で便利そうなものを発見!! ChaNさんの『回路内導通チェッカ』 です!! なんと!ATtiny13と工具箱にありそうな簡単な部品だけで出来そう!! しかも、 抵抗値によって音色が変化する とか最高ですか! というわけで、作ってみた! ChaNさんの回路やプログラムは 簡潔に書かれている ので、 とても勉強になります★ ありがたや〜 作ってみると、いろいろ改造したくなるのが人情です(笑) というわけで、改造することに! ※改良ではない 改造した点 手持ちの抵抗器で何とかなるように抵抗値を変更 2色LEDを使い、電源は 青 色、導通時に 赤 色LEDが点灯 導通時の音色を変更 導通抵抗値を500Ωまでに変更 スリープを1分に変更 プローブの接触で電源ON プローブの10秒以上の接触で自動電源OFF(プローブ起動を無効化) プログラムは全面的に書き直しました。 CPUクロック を 1.2MHz としましょ。 そうすれば、ヒューズビットの書き換えは不要なのです! オリジナルはATtiny13Vですが、ATtiny13Aしか持ってなかったので、変更しました。 手持ちの抵抗器の都合で、オリジナルは 27KΩ と 5.6KΩ ですが、 22KΩ と 3.3KΩ の抵抗を使ってます。 2色(赤青)LEDが、部品箱に転がっていたので、それを使うことに。。。 たぶん、 秋月電子通商で昔買った やつだろう・・・当時は 500円もしてた みたいだ(笑) 導通時の音色を自分の使ってたテスターの音に近づけるために変更しました。 それと、オリジナルは50Ωの抵抗値で停止するようになっているのですが、そんなに細かく音色が変化しなくてもいいので、10倍の500Ωに変更しま...

AVRISP markII・USBasp ピン配置

イメージ
最近、evernoteがめっちゃ使えなくなっちまった・・・ 無料版では、端末が1台までだし・・・ WEB版のevernoteはAndroidでうまく開けないぞ!! なので、AVRライタのピン配置をここに書いておこう! ※注 USBasp  でTPI書き込みを行う場合は TPI-DATA に MISO ではなく、 MOSI を使う!!