Skip to content

Commit

Permalink
More reverse engineering
Browse files Browse the repository at this point in the history
  • Loading branch information
pfumagalli committed Nov 15, 2024
1 parent 3761cf7 commit 879a8e6
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 4 deletions.
35 changes: 31 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ See it live [here](https://juitnow.github.io/juit-alacrity-setup/).
* **Unknown**: _`%%SpecCode19`_
* `%%SpecCode1A`: iOS Keyboard / Toggle iOS Keyboard
* `%%SpecCode1B`: Scanner Status / Timestamp
* **Unknown**: _`%%SpecCode1C`_ ... _`%%SpecCode2F`_
* **Unknown**: _`%%SpecCode1C`_ ... _`%%SpecCode27`_
* **Unknown**: _`%%SpecCode2A`_ ... _`%%SpecCode2F`_
* `%%SpecCode30`: Sleep Timeout / 30 seconds
* `%%SpecCode31`: Sleep Timeout / 1 minute
* `%%SpecCode32`: Sleep Timeout / 2 minutes
Expand Down Expand Up @@ -104,8 +105,7 @@ See it live [here](https://juitnow.github.io/juit-alacrity-setup/).
* `%%SpecCodeB1`: Communication Speed / Medium
* `%%SpecCodeB2`: Communication Speed / Slower
* `%%SpecCodeB3`: Communication Speed / Slowest
* `%%SpecCodeB4`: Keyboard Emulation / UTF Codes
* **Unknown**: _`%%SpecCodeB5`_ ... _`%%SpecCodeB9`_
* **Unknown**: _`%%SpecCodeB6`_ ... _`%%SpecCodeB9`_
* `%%SpecCodeBA0000`: Prefix and Suffix Settings / Special Characters / Character Set 0
* `%%SpecCodeBA0001`: Prefix and Suffix Settings / Special Characters / Character Set 1
* `%%SpecCodeBA0002`: Prefix and Suffix Settings / Special Characters / Character Set 2
Expand All @@ -124,9 +124,36 @@ See it live [here](https://juitnow.github.io/juit-alacrity-setup/).
* `%%SpecCodeEF`: GS/FNC1 Character / Convert GS character
* **Unknown**: _`%%SpecCodeF0`_ ... _`%%SpecCodeFF`_

#### Notes
#### Unknown: silent mode

* `%%SpecCode28`: Seems to be disabling the sound but *only* when scanning
normal barcodes (settings barcodes remain unchanged). Altering the volume
doesn't restore the sound, only `%%SpecCode29` does.
* `%%SpecCode29`: Restores the sound after `%%SpecCode28`.

#### Unknown: non-ASCII character conversion

* `%%SpecCodeB4`: This seems to be affecting how non-ASCII characters are processed
within the scanner itself. I found in some manual that this is called "UTF Codes"
as keyboard emulation, but my experience UTF has nothing to do with it
* `%%SpecCodeB5`: This seems to reverse the effect of `%%SpecCodeB4`

Here is some anecdotal evidence on barcode processing using the US keyboard
(`%%SpecCode40`) and International keyboard (`%%SpecCode46`), in conjunction
with the "UTF mode" vs "Plain mode" above:

* `%%SpecCode46` (INTL keyboard) and `%%SpecCodeB4` (UTF mode)
* The string "FOÖBÄR" becomes `ALT{70}` `ALT{79}` `ALT{1410}` `ALT{274}`
* `%%SpecCode46` (INTL keyboard) and `%%SpecCodeB5` (PLAIN mode)
* The string "FOÖBÄR" becomes `ALT{70}` `ALT{79}` `ALT{0214}` `ALT{66}` `ALT{0196}` `ALT{82}`"
* This is the correct string, entered via keyboard each character as alternate
* `%%SpecCode40` (US keyboard) and `%%SpecCodeB4` (UTF mode)
* The string "FOÖBÄR" becomes `F` `O` `ALT{1410}` `ALT{274}`
* `%%SpecCode40` (US keyboard) and `%%SpecCodeB5` (PLAIN mode)
* The string "FOÖBÄR" becomes `F` `O` `ALT{54850}` `ALT{50258}`

Here `ALT{xxxx}` means

1) Left Alt goes down
2) Digits are entered as keypad characters, one by one
3) Left Alt goes up
18 changes: 18 additions & 0 deletions src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,24 @@ export const tree: Node[] = [ {
],
extra: 'unknowns',
selectable: true,
children: [
{ label: 'Silent Mode ON ?', barcode: '%%SpecCode28',
description: [
'This command seems to be enabling a special mode where the scanner does not beep when scanning NORMAL barcodes.',
'When scanning configuration barcodes, on the other hand, the scanner will still beep.',
'This doesn\'t seem to be affected by the codes in the Haptics section, and can only be restored with "Silent Mode OFF',
],
}, {
label: 'Silent Mode OFF ?', barcode: '%%SpecCode29',
description: [ 'This command reverts the "Silent Mode ON" command and restores audio feedback for normal barcodes.' ],
}, {
label: 'UTF Mode ?', barcode: '%%SpecCodeB4',
description: [ 'This seems to be affecting how non-ASCII characters are processed within the scanner itself.' ],
}, {
label: 'Plain Mode ?', barcode: '%%SpecCodeB5',
description: [ 'This seems to reverse the effect of "UTF Mode"' ],
},
],
}, {
label: 'Testing',
description: [
Expand Down

0 comments on commit 879a8e6

Please sign in to comment.