punctuator映射在切换scheme后再切回来就无效了
Open
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 6.4k
- Forks
- 554
- PR merge metrics
- No merged PRs in 30d
Description
具体表现
从系统输入法ABC切换到Squirrel时下面这个scheme是有效的,键盘输出[;,.pyf aoeuid], 但是在squirrel [control+`]切换一下拼音scheme再切回dvorak这个, 我设置的punct_translator就无效了,键盘输出变回了[qwerty asdfg]
失效scheme文件
# Rime schema settings
# encoding: utf-8
schema:
schema_id: dvorak
name: "dvorak"
version: "0.1"
author:
- 方案制作人
description: |
dvorak
switches:
- name: ascii_mode
reset: 0
states: [ dvp, qwerty ]
- name: full_shape
states: [ 半角, 全角 ]
engine:
processors:
- punctuator
segmentors:
- punct_segmentor
translators:
- punct_translator
key_binder:
bindings:
- {accept: "Shift+Space", toggle: full_shape, when: always}
punctuator:
half_shape: &symtable
"`": {commit: "$"}
"1": {commit: "&"}
"2": {commit: "["}
"3": {commit: "{"}
"4": {commit: "}"}
"5": {commit: "("}
"6": {commit: "="}
"7": {commit: "*"}
"8": {commit: ")"}
"9": {commit: "+"}
"0": {commit: "]"}
"-": {commit: "!"}
"=": {commit: "#"}
"~": {commit: "~"}
"!": {commit: "%"}
"@": {commit: "7"}
"#": {commit: "5"}
"$": {commit: "3"}
"%": {commit: "1"}
"^": {commit: "9"}
"&": {commit: "0"}
"*": {commit: "2"}
"(": {commit: "4"}
")": {commit: "6"}
"-": {commit: "8"}
"=": {commit: "`"}
"q": {commit: ";"}
"w": {commit: ","}
"e": {commit: "."}
"r": {commit: "p"}
"t": {commit: "y"}
"y": {commit: "f"}
"u": {commit: "g"}
"i": {commit: "c"}
"o": {commit: "r"}
"p": {commit: "l"}
"[": {commit: "/"}
"]": {commit: "@"}
"\\": {commit: "\\"}
"a": {commit: "a"}
"s": {commit: "o"}
"d": {commit: "e"}
"f": {commit: "u"}
"g": {commit: "i"}
"h": {commit: "d"}
"j": {commit: "h"}
"k": {commit: "t"}
"l": {commit: "n"}
";": {commit: "s"}
"'": {commit: "-"}
"z": {commit: "'"}
"x": {commit: "q"}
"c": {commit: "j"}
"v": {commit: "k"}
"b": {commit: "x"}
"n": {commit: "b"}
"m": {commit: "m"}
",": {commit: "w"}
".": {commit: "v"}
"/": {commit: "z"}
"Q": {commit: ":"}
"W": {commit: "<"}
"E": {commit: ">"}
"R": {commit: "P"}
"T": {commit: "Y"}
"Y": {commit: "F"}
"U": {commit: "G"}
"I": {commit: "C"}
"O": {commit: "R"}
"P": {commit: "L"}
"{": {commit: "?"}
"}": {commit: "^"}
"|": {commit: "|"}
"A": {commit: "A"}
"S": {commit: "O"}
"D": {commit: "E"}
"F": {commit: "U"}
"G": {commit: "I"}
"H": {commit: "D"}
"J": {commit: "H"}
"K": {commit: "T"}
"L": {commit: "N"}
":": {commit: "S"}
"\"": {commit: "_"}
"Z": {commit: "\""}
"X": {commit: "Q"}
"C": {commit: "J"}
"V": {commit: "K"}
"B": {commit: "X"}
"N": {commit: "B"}
"M": {commit: "M"}
"<": {commit: "W"}
">": {commit: "V"}
"?": {commit: "Z"}
full_shape:
"`": {commit: "`"}
"1": {commit: "1"}
"2": {commit: "2"}
"3": {commit: "3"}
"4": {commit: "4"}
"5": {commit: "5"}
"6": {commit: "6"}
"7": {commit: "7"}
"8": {commit: "8"}
"9": {commit: "9"}
"0": {commit: "0"}
"-": {commit: "-"}
"=": {commit: "="}
"~": {commit: "~"}
"!": {commit: "!"}
"@": {commit: "@"}
"#": {commit: "#"}
"$": {commit: "$"}
"%": {commit: "%"}
"^": {commit: "^"}
"&": {commit: "&"}
"*": {commit: "*"}
"(": {commit: "("}
")": {commit: ")"}
"-": {commit: "-"}
"=": {commit: "="}
"q": {commit: "q"}
"w": {commit: "w"}
"e": {commit: "e"}
"r": {commit: "r"}
"t": {commit: "t"}
"y": {commit: "y"}
"u": {commit: "u"}
"i": {commit: "i"}
"o": {commit: "o"}
"p": {commit: "p"}
"[": {commit: "["}
"]": {commit: "]"}
"\\": {commit: "\\"}
"a": {commit: "a"}
"s": {commit: "s"}
"d": {commit: "d"}
"f": {commit: "f"}
"g": {commit: "g"}
"h": {commit: "h"}
"j": {commit: "j"}
"k": {commit: "k"}
"l": {commit: "l"}
";": {commit: ";"}
"'": {commit: "'"}
"z": {commit: "z"}
"x": {commit: "x"}
"c": {commit: "c"}
"v": {commit: "v"}
"b": {commit: "b"}
"n": {commit: "n"}
"m": {commit: "m"}
",": {commit: ","}
".": {commit: "."}
"/": {commit: "/"}
"Q": {commit: "Q"}
"W": {commit: "W"}
"E": {commit: "E"}
"R": {commit: "R"}
"T": {commit: "T"}
"Y": {commit: "Y"}
"U": {commit: "U"}
"I": {commit: "I"}
"O": {commit: "O"}
"P": {commit: "P"}
"{": {commit: "{"}
"}": {commit: "}"}
"|": {commit: "|"}
"A": {commit: "A"}
"S": {commit: "S"}
"D": {commit: "D"}
"F": {commit: "F"}
"G": {commit: "G"}
"H": {commit: "H"}
"J": {commit: "J"}
"K": {commit: "K"}
"L": {commit: "L"}
":": {commit: ":"}
"\"": {commit: "\""}
"Z": {commit: "Z"}
"X": {commit: "X"}
"C": {commit: "C"}
"V": {commit: "V"}
"B": {commit: "B"}
"N": {commit: "N"}
"M": {commit: "M"}
"<": {commit: "<"}
">": {commit: ">"}
"?": {commit: "?"}
key_binder:
import_preset: default
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Reproduce the failure with the supplied dvorak scheme: activate it, switch to another Squirrel scheme with Control+`, then switch back and verify whether punct_translator still maps keys as configured; done means the mapping remains effective after the round trip.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100