ダイレクト入力枠
配置データのチャンネル文を直接入力できるコンボボックスです。
たとえばこのフォームにフォーカスし、キーボードから “#00011:FOON
” と入力して を左クリックすると、#000
の 1 Player 側 1 鍵盤レーン」に、FO
のオブジェクト」と「番号 ON
のオブジェクト」が、
を左クリックすると、直近 10 件までの入力履歴リストがドロップダウンします。矢印キー上下などで履歴アイテムを選択できます (Enter や左クリックで確定)。この入力履歴は BMSE 終了時に消去されます。
ダイレクト入力は、使い方次第で編集効率が向上する機能です。たとえばテンプレートサンプルの文字列を適当に変更して直接入力すれば、連番オブジェクトの書き込みや、配置間隔の変更などを一括で実行できます。
ダイレクト入力の注意点
入力文字列はすべて半角英数字で指定します。大文字小文字は問いません。不正な書式を入力した場合、
チャンネル文以外の入力は無視されます (変更フラグは立ちます)。
ダイレクト入力は Undo Counter に計上されません。つまり、
ダイレクト入力されたオブジェクトに対する【移動、切り取り、コピー、貼り付け、削除】などの編集操作は、
- BMSE 1.3.9 beta14 では、たしかダイレクト入力も “元に戻す/やり直し” ができたような気がします (手元にないため未確認)。
配置済みオブジェクトと同一のグリッド座標上にダイレクト入力を行うと、オブジェクトが一時的に重なった状態になります。
00
(休符) をダイレクト入力で重ねても、配置済みオブジェクトは削除されずに元の場所に残ります。
ダイレクト入力で重ねたオブジェクトは一時的に単体選択できなくなる、などの不具合が生じる場合があります。再現条件は不明です。
ダイレクト入力は譜面ファイルを開かない限り機能しません。実行ファイルへのドロップ起動、譜面ファイルからの関連づけ起動、
ダイレクト入力枠に一度に入力できる文字数は上限 256 bytes です。#xxxCH:
” の形になるので、直接入力できるリズムは「小節の 124 等分 (248 文字分)」が事実上の上限となります。これは、
ダイレクト入力の再描画範囲が広すぎると、#99911:11
などと入力しないでください。
大量の小節をダイレクト入力する予定があるなら、事前に準備しておくことをおすすめします。以下の手順のどちらかを実行してください。
- 拡張命令タブに
#99911:11
と記述していったん保存し、開き直す。 - または、譜面ファイルをあらかじめテキストエディタなどで開き、
BMS コード末尾にダミーを記述しておく ( #99911:11
など)。
強制終了する再描画範囲の閾値は不明です。以下の例を参考にしてください。
-
全小節
4
拍子、/4 End キーの移動先が #166
未満のとき、#154
以降に直入力すると強制終了。#153
への直入力はセーフ。そこまでのどこか 1 小節の長さを21
以下にしておくと、/32 #154
への直入力もセーフに。43
以上だと、/64 #154
への直入力で強制終了。 -
全小節
4
拍子、/4 End キーの移動先が #166
以上#500
未満のとき、#495
以降に直入力すると強制終了。そこまでのどこか 1 小節の長さを63
以下にしておくと、/64 #495
への直入力もセーフに。 -
#000
~#100
あたりまで拍子をすべて64
にすると、/4 #047
以降に直接入力したとき強制終了。#000
~#050
あたりまで拍子をすべて64
にすると、/4 #050
に直接入力しても強制終了しない。
各チャンネル文に関する注意点
#xxx01
(BGM) のチャンネル文をダイレクト入力すると、強制終了します。
BGM をダイレクト入力できる BMSC と同じ感覚で操作すると失敗します。
#xxx02
(小節長) のチャンネル文をダイレクト入力すると、表示が変になります。
#xxx03
(標準 BPM 変更) のチャンネル文は、
たとえば “#00003:11ff
” と入力すると、#000
の BPM レーンに、値 17
と値 255
のオブジェクトが、小節を 2 等分する間隔で配置されます。
16 進数 11
は 10 進数 17
に相当。
16 進数 FF
は 10 進数 255
に相当。
#xxx08
(拡張 BPM 変更) のチャンネル文は、
たとえば “#00008:11FF00zz
” と入力すると、#000
の BPM レーンに、値 37
・555
・休符・1295
のオブジェクトが、小節を 4 等分する間隔で配置されます。
負数も直接入力できたり、小数は直接入力できなかったりするようですが、よくわかりません。それらの値を確実に指定したい場合は普通にメインパネルに書き込んでください。
#xxx09
(STOP) のチャンネル文は、1295
よりも大きな値を指定したい場合は普通にメインパネルに書き込んでください。
#xxx04
(BGA)、#xxx07
(LAYER)、#xxx06
(POOR)、#xxx[11-69]
(演奏領域) のチャンネル文は、
チャンネル番号が 04
・06
・07
の場合、コロン以降の値は映像オブジェクトの定義番号です。ただし値 00
は #BMP00
ではなく、休符を表します。
チャンネル番号が 11
-69
の場合、コロン以降の値は音声オブジェクトの定義番号です。ただし値 00
は #WAV00
ではなく、休符を表します。
定義番号は 2 文字でオブジェクト 1 個を示すので、コロン以降の文字数は必ず偶数個になります。奇数個のとき、
-
#xxx17
・27
(フリーゾーン) のチャンネル文は無視されます。その不可視 (37
・47
) およびロングノート (57
・67
) に関しても、同様に無視されます。
チャンネル文
#xxxCH:n
の形式で記述します。#xxx
は小節番号、CH
はチャンネル番号です。
値 n
はチャンネルによって意味が異なります。基本的にはコロン以降の「2 文字の組」の個数で小節を等分します。たとえば “#00104:110022
” なら、#001
の BGA レーンに、小節を 3 等分する間隔で、映像オブジェクト 11
、00
、22
を配置します。番号 00
は休符です。番号 11
および 22
のオブジェクトは、それぞれ #BMP11
(#BGA11
) と #BMP22
(#BGA22
) を参照します。
- BMSE でダイレクト入力できるチャンネル
- [
#xxx02
] 小節長 -
拍子の値を指定する (ダイレクト入力は非推奨)。
たとえば
7
拍子なら、/16 “ #xxx02:0.4375
” と指定する (7 ÷ 16)。既定値は
1
なので、4
拍子なら指定は不要。/4 - [
#xxx03
] 標準 BPM 変更 - 1 ~ 255 の整数値を、
2 桁の 16 進数で指定 - [
#xxx08
] 拡張 BPM 変更 - 1 ~ 1295 の整数値を、
2 桁の 36 進数で指定 - [
#xxx09
] STOP - 1 ~ 1295 の整数値を、
2 桁の 36 進数で指定 - [
#xxx04
] BGA - 小節を映像オブジェクト個数で等分する
- [
#xxx07
] LAYER - 小節を映像オブジェクト個数で等分する
- [
#xxx06
] POOR - 小節を映像オブジェクト個数で等分する
#xxx[11-69]
演奏領域[11-19]
1P 可視[21-29]
2P 可視[31-39]
1P 不可視[41-49]
2P 不可視[51-59]
1P ロングノート[61-69]
2P ロングノート-
小節を音声オブジェクト個数で等分する。
- BMSE でダイレクト入力できないチャンネル については、ダミーの分岐に隠す方法でほぼ対処できます。ヘッダ文には対処できない場合もあります。
- テーマファイルを編集し、レーン情報にチャンネル番号を表示させると、ダイレクト入力時に便利に参照できるかもしれません。
(example.ini)
テキスト入力フォームの操作
他の部位のテキスト入力操作もこの項にまとめています。
テキスト入力フォーム上にフォーカスがないときの操作
- テキストボックス左クリック
-
- テキストボックスにフォーカス
- コンボボックスの場合、左クリック時にテキストボックス内に文字列があれば、その文字列を全選択しつつフォーカスする
- テキストボックス右クリック
-
- テキストボックスにフォーカスし、入力フォームのコンテキストメニューを開く (後述)
- コンボボックスの場合、右クリック時にテキストボックス内に文字列があれば、その文字列を全選択しつつメニューを開く
- コンボボックス領域上で ホイール回転
-
リストアイテムがあるとき、リストを展開せず選択
- 左クリック
-
- テキストボックスにフォーカスし、リストを展開
- テキストボックスに文字列があれば、その文字列を全選択しつつリストを展開
-
下方向のスクリーン高さがリスト高さに満たない場合、リストをプルアップ展開
- Input ボタンを左クリック
-
ダイレクト入力枠のテキストボックス内に文字列があればそれを配置データとして入力し、テキストボックス内文字列をクリアしてフォーカスする
- テキストボックスが空ならフォーカスしない
-
#BGA
タブの入力ボタンを左クリック #BGA
タブのテキストボックス内に文字列があればそれを定義リストに登録し、テキストボックス内文字列をクリア
オブジェクトパネル (拡張命令タブなど) のスクロールバー操作
- グレーアウト時
-
内容がテキストボックス 1 ページに収まる場合、以下のスクロールバー操作は無効
- 左ドラッグ
-
ドラッグ中、縦横にライブスクロール
- 垂直スクロールバーのノブ高さは自動伸縮する (ウィンドウサイズや文書全体の行数に依存)
- 水平スクロールバーのノブ幅は縮む一方 (テキストボックスを空にするか譜面を開くまで、伸びた全長は短くならない)
- 上下スクロールボタンを左クリック
- 垂直方向に 1 行ずつスクロール
- 左右スクロールボタンを左クリック
- 水平方向に 1 文字ずつスクロール
- トラックを左クリック
-
- ノブ位置からクリック位置の方向に、
1 ページ (== ノブ長さ) ずつスクロール - 押しっぱなしでクリック位置まで連続スクロール
- ノブ位置からクリック位置の方向に、
- スクロールバー領域を右クリック
-
-
スクロールバーのコンテキストメニューを開く
- マウスオーバーや矢印キーで項目を選択
- 選択した項目を、左右クリックや Enter で実行
- Esc や F10 やスクロールバー以外の場所をクリックで閉じる
- 水平方向の代替操作
-
- 行頭・左の端 [Home]
- 行末・右の端 [Ctrl + PageUp]
- 先のページ・左のページ [不明]
- 後のページ・右のページ [Ctrl + PageDown]
- 垂直方向の代替操作
-
- 文頭・最上部 [Ctrl + Home]
- 文末・最下部 [Ctrl + End]
- 前のページ [PageUp]
- 次のページ [PageDown]
-
- [Windows 2000
/XP 以降] 以外を Shift + 左クリック - クリック位置に瞬時にスクロール (コンテキストメニュー “ここにスクロール” と等価)
メインパネル & 定義リスト領域上にマウスポインタがないとき有効
- Tab
-
タブインデックスを持つ各フォーム要素に、昇順でフォーカスを移動
(メインパネルおよびメニューバーはタブインデックスを持たない)
- Shift + Tab
- 降順でフォーカスを移動
入力フォームのボタンにフォーカスがあるとき有効
- Space、
Enter - を押下することで、各テキストボックスにある内容を入力
テキストボックスにフォーカスがあるとき (キャレット点滅中) 有効
- 任意のキー
-
-
フォーカスがあるテキストボックスに文字を入力
- 選択文字列があるとき、選択範囲を削除して入力
-
- Alt + テンキー
- 文字コードを指定して入力 (参考)
- テキストボックス右クリック、アプリケーションキー、
Shift + F10 -
入力フォームのコンテキストメニューを開く
(制御文字メニュー)
- マウスオーバー、矢印キーで項目を選択
- 選択した項目を、左右クリックや Enter で実行
- 各項目アクセスキーで、選択と同時に実行
- Esc や F10 や他の場所をクリックで閉じる
- グレーアウト項目は状況に依存する
- マウスアウト
- メインパネルや定義リストにマウスオーバーすると、そちらにフォーカスが奪われる
- 矢印キー左右
-
- キャレットを左右に移動
- 選択文字列があるとき、選択を解除
- 矢印キー上下、ホイール回転↑↓
-
リストアイテムがあるとき、リストを展開せず選択
- 左クリック、
Alt + 矢印キー上下、 Shift + F4 -
- ドロップダウンリストを展開 (履歴は 0 ~ 10 件)
-
リスト展開中ならリストを折りたたむ
- 矢印キー上下、ホイール回転、
Page Up /Down、マウスオーバーなどでリストアイテムを選択 - 左クリック、
Enter で選択アイテムを確定 - Esc で展開中のリストを折りたたむ
- 垂直スクロールバーのノブを左ドラッグでライブスクロール
- [Windows 2000
/XP 以降] 垂直スクロールバーのトラックを [Shift + 左クリック] で瞬時にスクロール - 左クリックでリストを 1 行ずつスクロール
- スクロールバー右クリックで意味なしメニュー開く
- 左クリック
-
- クリック位置にキャレットを移動
- 選択文字列があるとき、選択を解除
- Home
- キャレットを行頭に移動
- End
- キャレットを行末に移動
- Backspace、
Ctrl + H -
- キャレットから行頭側の隣接する 1 文字を削除
- 選択文字列があるとき、選択文字列を削除
- Delete
-
- キャレットから行末側の隣接する 1 文字を削除
- 選択文字列があるとき、選択文字列を削除
- Insert
-
- キャレット位置に文字列を挿入
- 挿入モードは他の特殊キー押下時に解除
- Page Up、
Page Down -
ドロップダウンリストの選択されている項目から、最大 7 件上 or 下にあるリストアイテムを選択
- (リスト 1 ページのアイテム表示件数は最大 8 件)
- リストそのものの展開・非展開状態は問わない
- 拡張命令タブでは 1 ページ量、垂直スクロール
- Shift + Page Up、
Shift + Page Down - 1 ページ量、垂直スクロールし、かつスクロールした区間の文字列を全選択 (1 行フォームでは無効)
- Ctrl + Page Up
- 水平スクロールバー末尾にスクロール (1 行フォームでは無効)
- Ctrl + Page Down
- 1 ページ量、行末側にスクロール (1 行フォームでは無効)
- 左ドラッグ、
Shift + 矢印キー左右 -
- 押下中、マウスポインタやキャレットが通過した文字列を選択状態にする
- 左クリックやキャレット戻すと選択を解除する
- Shift + 矢印キー上下
-
上下行のキャレット位置までの範囲を選択
- 1 行フォームでは [Shift + 矢印キー左右] と等価
- コンボボックスではリストアイテム選択が優先される
- Shift + 左クリック
-
Shift 押下中、キャレット位置を範囲選択の始点として固定し、任意の左クリック位置を範囲選択の終点に指定
- Shift + Home
- キャレット位置から行頭までの文字列を全選択
- Shift + End
- キャレット位置から行末までの文字列を全選択
- Ctrl + Home
- キャレットを文書全体の先頭に移動
- Ctrl + End
- キャレットを文書全体の末尾に移動
- Ctrl + Shift + Home
- キャレット位置から文書先頭までの区間を全選択
- Ctrl + Shift + End
- キャレット位置から文書末尾までの区間を全選択
- Ctrl + 矢印キー左右
- キャレットを左右に単語ごとに移動
- Ctrl + Shift + 矢印キー左右
-
キャレット位置から左右に、単語ごとに範囲選択
- Ctrl + Delete
- キャレット位置から行末までの文字列を削除
- 左ダブルクリック
- クリック位置の単語のみを範囲選択
- Ctrl + A
- 入力フォーム内の文字列をすべて選択
- Ctrl + X、
Shift + Delete - 選択文字列を切り取り
- Ctrl + C、
Ctrl + Insert - 選択文字列をコピー
- Ctrl + V、
Shift + Insert - 貼り付け
- Ctrl + Z
- 元に戻す (コンボボックスでは無効)
- Ctrl + Y
- やり直し (コンボボックスでは無効)
- Ctrl + J、
Ctrl + M - 改行文字を入力 (1 行フォームでは無効)
- Ctrl + Tab、
Ctrl + I - Tab 文字を入力 (1 行フォームでは無効)
- Enter
-
テキストボックス内文字列を配置データとして入力
- ダイレクト入力枠のみ有効だがたまに効かない
- 拡張命令タブでは Enter は改行
Microsoft IME 有効時の操作
- [半角/全角]
-
- [IME 有効 ←→ IME 無効] のトグル
- 未変換文字列 or 文節があるとき、全確定
- F10、
Ctrl + T -
確定前の文字列を半角英数に変換
[小文字 → 大文字 → 先頭のみ大文字 → …]
- F5、
Ctrl + Y - 確定前の文字列を部首変換
- F6、
Ctrl + U - 確定前の文字列をひらがなに変換 [先頭から 1 文字ずつカタカナに変換]
- F7、
Ctrl + I - 確定前の文字列をカタカナに変換 [末尾から 1 文字ずつひらがなに変換]
- F8、
Ctrl + O - 確定前の文字列を半角カタカナ (半角) に変換 [1 文字ずつ、かな/大文字小文字へ変換]
- F9、
Ctrl + P -
確定前の文字列を全角英数に変換
- [Ctrl + P] → [Ctrl + O] で半角英数になる
- 左クリック
- 確定前の文節群をクリック位置に移動・挿入
- 矢印キー上
-
- 未変換文字列の先頭にキャレットを移動
- アクティブな文節を前候補変換
- 文節長の変更中、選択範囲を短縮
- 矢印キー下
-
- 未変換文字列の末尾にキャレットを移動
- アクティブな文節を次候補変換
- 文節長の変更中、選択範囲を伸張
- Shift + 矢印キー左右
- 文節の区切り直し (注目文節)
- Shift + 矢印キー下
- 未変換文字列 or 文節を先頭から順に確定
- Ctrl + 矢印キー下
- 注目文節を確定
- Ctrl + 矢印キー
- 未変換文字列の先頭/末尾にキャレットを移動
- Ctrl + 矢印キー上
- アクティブな文節を前候補変換
- 変換キー
-
- 変換
- アクティブな文節を次候補変換
- 確定済み文節の再変換
- Shift + 変換キー
- 変換候補のメニュー表示中、前候補変換
- Ctrl + 変換キー、
Ctrl + F10 -
IME のコンテキストメニューを開く
(プロパティ → 全般タブ → 設定ボタンで 設定一覧)
- Space
- 変換 / アクティブな文節を次候補変換
- Shift + Space
- 変換 / アクティブな文節を前候補変換
- Ctrl + Space
- 半角スペースを入力
- Ctrl + Shift + Space
- 全角スペースを入力
- Ctrl + Backspace
- 確定直後に入力で、未確定状態に戻す
- Ctrl + Delete
-
- 確定前文字列の以降から行末までを削除
- 変換候補のメニューから、選択中の変換候補を一時的に削除する (詳細)
- Shift + Alt
- 他言語用の入力方式が導入済みの場合、入力方式を切り替える (日本語 → 中国語 等)
- Shift + Ctrl (ヘルプ筆者未確認)
- キーボードレイアウトの切り替え (MS→
ATOK、スタンダード→ナチュラル 等) - [Windows Vista 以降] [Office 2007 以降?] Tab
- 変換候補選択中に、すべての選択肢を表示
- 無変換
-
- ひらがな、カタカナ、半角カタカナ (モードトグル / 文字列変換トグル)
- 英数入力時は 全角 ←→ 半角 トグル変換
- Shift + 無変換
- 全角英数 ←→ 半角英数 (文字列変換トグル)
- Caps Lock
- 全角英数 ←→ ひらがな (モードトグル)
- ひらがなキー
- IME を有効化して、ひらがな入力モードに
- Shift + ひらがなキー
- IME を有効化して、カタカナ入力モードに
- Alt + ひらがなキー、ローマ字キー
- ローマ字入力/かな入力 の切り替え
- Ctrl + E
-
- 変換前の文字列の先頭にキャレットを移動
- アクティブな文節を変換 (前候補)
- Ctrl + A、
Home、 Ctrl + 矢印キー左 -
- 変換前の文字列の先頭にキャレットを移動
- 先頭文節に移動
- Ctrl + S or D、矢印キー左右
-
- 変換前の文字列のキャレットを前後に移動
- 文節を前後に移動
- Ctrl + F、
End、 Ctrl + 矢印キー右 -
- 変換前の文字列の末尾にキャレットを移動
- 末尾文節に移動
- Ctrl + G、
Delete - 変換前の文字列の、キャレットの行末側 1 文字を削除
- Ctrl + H、
Backspace、 Ctrl + Backspace、 Shift + Backspace -
- 変換前の文字列の、キャレットの行頭側 1 文字を削除
- アクティブな文節の変換を取り消し
- Ctrl + J
-
確定前の文字列の直前位置で改行
- 確定前の状態は維持される (1 行フォームでは無効)
- Ctrl + K or L
-
- 変換前の文字列のキャレットを前後に移動
- 文節の区切り直し (注目文節)
- Ctrl + Z、
Esc -
- 変換前の文字列を削除
- 文節区切り時、文節区切りを取り消し
- アクティブな文節の変換を取り消し
連続入力するとすっきり爽快
- Shift + Esc
-
- 変換前の文字列を削除
- 文節区切りをすべて取り消し
- Ctrl + X
- アクティブな文節を次候補変換
- Ctrl + N
-
- 変換中の文字列を全確定
- 変換中の文字列が選択されているとき、選択範囲のみ変換を確定 (注目文節)
- Ctrl + M、
Enter、 Ctrl + Enter - 変換中の文字列を全確定
- Page Up
/Down、 Shift + 矢印キー上下 - 変換候補メニューのページめくり
- Home / End
- 変換候補メニューのアイテム先頭/末尾
- Ctrl + 変換キー
- 変換候補メニュー表示中、漢字の読み候補をすべて表示 (画像)
- アプリケーションキー
-
変換候補メニュー表示中、一覧メニュー表示
を左クリックするのと同じ (画像)