Skip to content

AutoHotKey Script to test all text-based keystrokes from a keyboard layout.

Notifications You must be signed in to change notification settings

springcomp/optimized-azerty-win-compliance

Repository files navigation

Keyboard Layout Testing Tool

This repository contains a very simple AutoHotKey script and accompanying compliance testing command-line tool, to test available keystrokes from the currently selected keyboard layout and compare the result against a known state.

This tool is currently being used to test compliance of the AZERTY-NF keyboard layout.

How to test

This repository contains the current expected.txt file that stores the requested keystrokes for a NF Z71-300 standard-compliant AZERTY keyboard layout.

In order to test the keyboard layout, please follow the steps outlined hereafter:

  • Install and select the desired keyboard layout.
  • Run the nf-z71-300.ahk script.
  • Open an empty Notepad® text file
  • In Notepad®, hit Ctrl+r to run the test.
  • When the test completes, save the resulting file in the UTF-8 encoding. For instance, save the file as actual.txt.

You can now compile and run the accompanying compliance.exe command-line tool, with the following command:

PS> cd src/
PS> dotnet run ..\actual.txt ..\expected.txt

This will gather the results and report the compliance rate of the layout.

Current compliance level

The referred-to AZERTY-NF (Numérique) layout reports 100% standard compliance.

The referred-to AZERTY-NF layout with SGCaps feature is only slightly less compliant, and brings a very useful way to type accented characters in upper case.

It is currently reporting the following results:

Success: 97,34%
Total: 752, Succeeded: 732, Failed: 20.
..\expected.txt(21, 2): Expected: '1' (U+0031), Actual: 'À' (U+00C0).
..\expected.txt(21, 3): Expected: '2' (U+0032), Actual: 'É' (U+00C9).
..\expected.txt(21, 4): Expected: '3' (U+0033), Actual: 'È' (U+00C8).
..\expected.txt(21, 5): Expected: '4' (U+0034), Actual: 'Ê' (U+00CA).
..\expected.txt(21, 6): Expected: '5' (U+0035), Actual: '(' (U+0028).
..\expected.txt(21, 7): Expected: '6' (U+0036), Actual: ')' (U+0029).
..\expected.txt(21, 8): Expected: '7' (U+0037), Actual: ''' (U+2018).
..\expected.txt(21, 9): Expected: '8' (U+0038), Actual: ''' (U+2019).
..\expected.txt(21, 10): Expected: '9' (U+0039), Actual: '«' (U+00AB).
..\expected.txt(21, 11): Expected: '0' (U+0030), Actual: '»' (U+00BB).
..\expected.txt(26, 2): Expected: 'à' (U+00E0), Actual: '1' (U+0031).
..\expected.txt(26, 3): Expected: 'é' (U+00E9), Actual: '2' (U+0032).
..\expected.txt(26, 4): Expected: 'è' (U+00E8), Actual: '3' (U+0033).
..\expected.txt(26, 5): Expected: 'ê' (U+00EA), Actual: '4' (U+0034).
..\expected.txt(26, 6): Expected: '(' (U+0028), Actual: '5' (U+0035).
..\expected.txt(26, 7): Expected: ')' (U+0029), Actual: '6' (U+0036).
..\expected.txt(26, 8): Expected: ''' (U+2018), Actual: '7' (U+0037).
..\expected.txt(26, 9): Expected: ''' (U+2019), Actual: '8' (U+0038).
..\expected.txt(26, 10): Expected: '«' (U+00AB), Actual: '9' (U+0039).
..\expected.txt(26, 11): Expected: '»' (U+00BB), Actual: '0' (U+0030).

For this reason, this repository also contains an alternate expected_sgcaps.txt file for a customized layout allowing direct input of upper case accented characters when using Caps Lock which is a popular option.

About

AutoHotKey Script to test all text-based keystrokes from a keyboard layout.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published