SlideShare a Scribd company logo
1 of 25
Download to read offline
ibus-skkをibus-skkを
なんとかすっぺなんとかすっぺ
会議会議
emasaka
自己紹介自己紹介
OSSがらみの活動OSSがらみの活動
manpage
bash.1の日本語訳を2.xから4.xに(5年ぐらい前)
grep.1の日本語訳を2.20から2.27に(今年)
ソフト
cowsayのマルチバイト文字(UTF-8)対応パッチ(2年
ぐらい前)
DebianおよびUbuntuのcowsayに適用されてます
仕事仕事
ざっくりいうと、日本語を読み書きする仕事
仕事PC仕事PC
メインのデスクトップOSはUbuntu
別のマシンでWindos 10も併用
日本語入力は日本語入力は
SKK系を愛用SKK系を愛用
SKKとはSKKとは
(略)
ざっくりいうと漢字変換する部分をShiftキーで指定する
日本語入力方式
いろいろなところの日本語入力機構で実装されている
Windows、Mac、Emacs……
最大の利点(自分にとって)最大の利点(自分にとって)
「行う」と「行なう」を使い分けられる
Ubuntuの日本語入力フUbuntuの日本語入力フ
レームワークレームワーク
fcitxとiBus
fcitx-skkもibus-skkもUbuntuパッケージにある
どちらも本体部分はlibskkを呼んでいる
図にすると図にすると
Ubuntu 17.10からUbuntu 17.10から
デフォルトのディスプレイサーバーがWaylandに
日本語入力フレームワークのデフォルトもfcitxからiBus
に
Waylandではfcitxはちゃんとは動かない(らしい)
ibus-skkの問題ibus-skkの問題
「半角/全角」(またはそれ相当のキー)の機能が使えない
fcitxとiBusの「半角/全角」fcitxとiBusの「半角/全角」
の意味の違いの意味の違い
fcitxは「半角/全角」で入力メソッドのオンオフをするモ
デル
fcitx自体が「半角/全角」を扱う
iBusは入力メソッドがオンの中で、「半角/全角」により、
直接入力モードと日本語入力モードを切り替えるモデル
ibus-mozcなどの入力メソッドが「半角/全角」を扱う
想定問答①想定問答①
Q:“Ctrl-j”と“l”でいいのでは?
想定問答①想定問答①
Q:“Ctrl-j”と“l”でいいのでは?
A:“Ctrl-j”自体を入力できない
想定問答②想定問答②
Q:“Super-SPC”(次のソースへ切り替え)で切り替えれ
ばいいのでは
想定問答②想定問答②
Q:“Super-SPC”(次のソースへ切り替え)で切り替えれ
ばいいのでは
A:入力ソースを切り替えると、xkbなどで設定したキー
配列がリセットされてしまう
iBusでは、キーボート配列と入力方式がいっしょに管
理されている
そのためにやることそのためにやること
libskkとibus-skkに「半角/全角」相当の機能を追加する
実装実装
同じ作者の「ibus-kkc」「libkkc」がある
libkkcには「半角/全角」の機能(set-input-mode-
hiragana/set-input-mode-direct)がある
真似すればいい?
2〜3日あれば実装できると思う
libkkcのこのあたりlibkkcのこのあたり
実装は問題実装は問題
じゃないじゃない
いちばんの問題いちばんの問題
libskkとibus-skkはアップストリーム開発者さんが「降り
た」状態
本日言いたいこと
誰かlibskkとibus-skkの誰かlibskkとibus-skkの
アップストリームメンテナーアップストリームメンテナー
になってくださいになってください
私はちょっとパス私はちょっとパス
「2〜3日あれば実装できると思う」なんて根拠なく言う人
間が、プロジェクトを管理できると思えない
おまけおまけ
4年ぐらい前にlibskkにプログラム実行変換を試しに実
装して動かしました
GitHubの個人ブランチで絶賛放置中

More Related Content

What's hot

What's hot (20)

Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめトランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
UXデザインワークショップ資料 by ATOMOS DESIGN
UXデザインワークショップ資料 by ATOMOS DESIGNUXデザインワークショップ資料 by ATOMOS DESIGN
UXデザインワークショップ資料 by ATOMOS DESIGN
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクルOpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクル
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかなぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのか
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
Git Flowを運用するために
Git Flowを運用するためにGit Flowを運用するために
Git Flowを運用するために
 
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
[DL輪読会]Multi-Agent Cooperation and the Emergence of (Natural) Language
[DL輪読会]Multi-Agent Cooperation and the Emergence of (Natural) Language[DL輪読会]Multi-Agent Cooperation and the Emergence of (Natural) Language
[DL輪読会]Multi-Agent Cooperation and the Emergence of (Natural) Language
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 
Kaggle boschコンペ振り返り
Kaggle boschコンペ振り返りKaggle boschコンペ振り返り
Kaggle boschコンペ振り返り
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
 

More from emasaka (12)

濁点の話
濁点の話濁点の話
濁点の話
 
GoBoLinuxを試した
GoBoLinuxを試したGoBoLinuxを試した
GoBoLinuxを試した
 
さくらのクラウドでh2oのベンチマーク
さくらのクラウドでh2oのベンチマークさくらのクラウドでh2oのベンチマーク
さくらのクラウドでh2oのベンチマーク
 
みおぽん for CLI
みおぽん for CLIみおぽん for CLI
みおぽん for CLI
 
GNU make 4.0に何かいる
GNU make 4.0に何かいるGNU make 4.0に何かいる
GNU make 4.0に何かいる
 
メタメタプログラミングRuby
メタメタプログラミングRubyメタメタプログラミングRuby
メタメタプログラミングRuby
 
長いの
長いの長いの
長いの
 
)の品格
)の品格)の品格
)の品格
 
人力
人力人力
人力
 
エコなWebサーバー
エコなWebサーバーエコなWebサーバー
エコなWebサーバー
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
 
Bash on Railsの逆襲
Bash on Railsの逆襲Bash on Railsの逆襲
Bash on Railsの逆襲
 

Recently uploaded

Recently uploaded (12)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

ibus-skkをなんとかすっぺ会議