Este projeto é uma interface gráfica (GUI) complementar para o repositório original kriomant/ch57x-keyboard-tool.
⚠️ Este projeto não substitui ocli, apenas estende seu uso via uma interface amigável.
Permitir que usuários configurem teclados baseados no CH57x por meio de uma interface gráfica moderna em vez da linha de comando.
- Visualização do teclado mapeado via arquivo YAML
- Edição não disponível nesta versão (read-only)
- Validação de YAML via binário
ch57x-keyboard-tool - Upload do YAML via
ch57x-keyboard-tool - Log estruturado com horário
Eu estava me aventurando em Rust, uma linguagem que ainda não conheço bem, mas decidi me desafiar e criar essa GUI a partir do zero. Estou aprendendo enquanto construo!
Tenho um teclado CH57x com 3 linhas, 4 colunas e 2 knobs e, embora o repositório original tenha uma interface de linha de comando, eu queria algo mais visual. A ideia inicial era criar uma GUI simples, mas acabei me empolgando e adicionando mais recursos.
Abaixo uma imagem da interface atual:
A interface é simples, mas funcional. Ela permite que você visualize o mapeamento do teclado e valide o arquivo YAML. O upload do arquivo também é suportado, embora a edição ainda não esteja disponível.
A interface também exibe mensagens de sucesso ou erro após a validação e o upload do arquivo YAML. Isso facilita a identificação de problemas e garante que o mapeamento do teclado esteja correto antes de ser enviado para o dispositivo.
A interface exibe mensagens de erro quando o arquivo YAML não é válido. Isso ajuda a identificar rapidamente problemas de formatação ou configuração antes de tentar fazer o upload para o teclado.
ch57x-keyboard-tool/
├── .gitignore
├── Cargo.lock
├── Cargo.toml
├── example-mapping.yaml
├── example-mapping-original.yaml
├── cli/
│ ├── Cargo.toml
│ └── src/
│ ├── config.rs
│ ├── consts.rs
│ ├── main.rs
│ ├── options.rs
│ ├── parse.rs
│ └── keyboard/
└── gui/
├── Cargo.toml
└── src/
└── main.rs
example-mapping-original.yaml é o arquivo original que do repositório do cli, então tem todas as instruções e informações importantes para a configuração do arquivo yaml.
example-mapping.yaml é o arquivo que eu uso pessoalmente. Ele tem o mapeamento do meu teclado, que é um teclado mecânico com 3 linhas, 4 colunas e 2 knobs. O arquivo é um exemplo de como o mapeamento pode ser configurado para um teclado específico.
Teclado que utilizo para testar o projeto. Ele é um teclado mecânico com 3 linhas, 4 colunas e 2 knobs. O arquivo example-mapping.yaml contém o mapeamento específico para este teclado.
Para compilar a GUI manualmente:
cd gui
cargo build --releaseO repositório utiliza GitHub Actions para compilar e gerar versões automaticamente ao criar tags do tipo v*.*.*. Veja .github/workflows/release.yml para detalhes.
Contribuições são bem-vindas! Se você deseja contribuir com o projeto, siga estas etapas:
- Faça um fork do repositório.
- Crie uma nova branch para sua feature ou correção de bug.
- Faça suas alterações e commit.
- Envie um pull request para o repositório original.
- Aguarde a revisão e feedback.
- Aguarde a aprovação e mesclagem do seu pull request.
- Agradeça a todos os envolvidos e continue contribuindo para o projeto!
Este projeto é licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
Agradeço ao desenvolvedor inicial (Kriomant) do projeto ch57x-keyboard-tool, que me inspirou a criar esta GUI. O trabalho dele foi fundamental para o desenvolvimento deste projeto e eu sou grato por sua contribuição à comunidade.
