lkb-configurator's People
lkb-configurator's Issues
lkb-configurator-server shows exception
I was trying to run lkb-configurator-server on macOS 10.15.4, but got the following exception on the server side:
欢迎使用 Lotlab 键盘配置工具
当前版本: 0.9.9.10, 正在检查更新……
当前使用的是最新版本
请使用浏览器访问 https://keyboard.lotlab.org 配置你的键盘。配置过程中请勿关闭此窗口。
System.TimeoutException: The operation has timed out.
at lkb_configurator_server.Models.KeyboardDeviceHID.HIDRequest(HidCommand command, Byte[] data, Int32 retry)
at lkb_configurator_server.Models.KeyboardDeviceHID.GetInfo()
at lkb_configurator_server.Models.KeyboardDeviceHID.SetDevice(HidDevice device)
at lkb_configurator_server.Models.HIDDevices.ReloadHIDListAsync()
in mac i cannot open the file
求助:配置工具检测不到键盘
BLE60键盘通过数据线链接电脑后在配置工具里检测不到,提示如下,刷新多次、多次更换过接口、切换 wifi 和热点都不行,”已连接设备“列表一直是空,终端中不断提示 The operation has timed out
。
❯ ./lkb-configurator-server
欢迎使用 Lotlab 键盘配置工具
当前版本: 1.0.4.0, 正在检查更新……
当前使用的是最新版本
请使用浏览器访问 https://keyboard.lotlab.org 配置你的键盘。配置过程中请勿关闭此窗口。
System.TimeoutException: The operation has timed out.
at HidSharp.AsyncResult`1.EndOperation()
at HidSharp.AsyncResult`1.EndOperation(IAsyncResult asyncResult)
at HidSharp.DeviceStream.EndRead(IAsyncResult asyncResult)
at System.IO.Stream.<>c.<BeginEndReadAsync>b__45_1(Stream , IAsyncResult )
at System.Threading.Tasks.TaskFactory`1.FromAsyncTrimPromise`1.Complete(TInstance , Func`3 , IAsyncResult , Boolean )
--- End of stack trace from previous location ---
at lkb_configurator_server.Models.KeyboardDeviceHID.HIDRequest(HidCommand command, Byte[] data, Int32 retry)
at lkb_configurator_server.Models.KeyboardDeviceHID.GetInfo()
at lkb_configurator_server.Models.KeyboardDeviceHID.SetDevice(HidDevice device)
at lkb_configurator_server.Models.HIDDevices.ReloadHIDListAsync()
System.TimeoutException: The operation has timed out.
at HidSharp.AsyncResult`1.EndOperation()
at HidSharp.AsyncResult`1.EndOperation(IAsyncResult asyncResult)
at HidSharp.DeviceStream.EndRead(IAsyncResult asyncResult)
at System.IO.Stream.<>c.<BeginEndReadAsync>b__45_1(Stream , IAsyncResult )
at System.Threading.Tasks.TaskFactory`1.FromAsyncTrimPromise`1.Complete(TInstance , Func`3 , IAsyncResult , Boolean )
--- End of stack trace from previous location ---
at lkb_configurator_server.Models.KeyboardDeviceHID.HIDRequest(HidCommand command, Byte[] data, Int32 retry)
at lkb_configurator_server.Models.KeyboardDeviceHID.GetInfo()
at lkb_configurator_server.Models.KeyboardDeviceHID.SetDevice(HidDevice device)
at lkb_configurator_server.Models.HIDDevices.ReloadHIDListAsync()
GT PAD issue
I bought a GT PAD and reset the firmware from "https://keyboard.lotlab.org/"
but now, it doesn't work , and go back to original key function definition, and I want to redefine the key function.
so I double-click "lkb-configurator-server.exe" and connect to "https://keyboard.lotlab.org/" but it display no device was found.
I don't know what happen on it . Is my tenkey malfunction? Can I restore original factory settings?
online keyboard builder does not support specific key functions
I am trying to use https://keyboard.lotlab.org/ to configure my keyboard. However, I could not find some key functions which exists in lotkb builder, for example TRICKY_ESC, PRINT_BAT, etc.
能支持MAC键盘吗?
你好!
觉得这个方案非常好,我想基于平台基本上做87的一套键盘,基本就是keychron k1的样子吧。市面唯一一款完全支持MAC的键盘,但是没有标准轴。但是我研究了一圈,能找到mac的keycode,但是tmk和qmk都没有针对mac的对应码表。不知道你们能补充上去吗?硬件设计方便我觉得不是问题,固件这里就卡住我了。
Mac/iOS的支持目前在机械键盘上来讲,基本是空白的。
No actual release for recent versions
It seems there is no actual configurator released for several recent versions, for example 0.9.9.10. Outside mainland China, baidu yun is slow and often breaks. I am not able to download anything from baidu yun.
可否提供离线使用功能?
避免因为网站挂掉,或者后期停止维护等情况 导致工具无法使用,键盘也就变砖了
GT Planck Rev.A 滑鼠功能可以取消或調節游標的加速和延時嗎
如題。
我的鍵盤資訊如下﹕
制造商: [Glab](https://glab.online/)
产品名称:GT Planck
硬件版本:Rev.A
硬件序列号:ACDD9E59
固件版本:1178C72E
mac版本配置软件无法识别到键盘且配置工具没有响应
概况
- 系统环境:macOS Monterey 12.1 MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
- 键盘类型:Glab Omega84
- 浏览器版本:Safari 版本15.2 (17612.3.6.1.6) 以及 Google Chrome 版本 100.0.4896.127(正式版本) (x86_64)
- 配置程序版本:lkb-configurator-osx-x64-2021-11-13_1.0.3.0-0-g86cdcae.tar.gz
具体现象
win10 下 运行不了 lkb-configurator-server.exe
欢迎使用 Lotlab 键盘配置工具
当前版本: 1.0.0.0, 正在检查更新……
当前使用的是最新版本
请使用浏览器访问 https://keyboard.lotlab.org 配置你的键盘。配置过程中请勿关闭此窗口。
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to bind to http://localhost:5000 on the IPv4 loopback interface: '以一种访问权限不允许的方式做了一个访问套接字的尝试。'.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to bind to http://localhost:5000 on the IPv6 loopback interface: '以一种访问权限不允许的方式做了一个访问套接字的尝试。'.
crit: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to start Kestrel.
System.IO.IOException: Failed to bind to address http://localhost:5000.
---> System.AggregateException: One or more errors occurred. (以一种访问权限不允许的方式做了一个访问套接字的尝试。) (以一种访问权限不允许的方式做了一 个访问套接字的尝试。)
---> System.Net.Sockets.SocketException (10013): 以一种访问权限不允许的方式做了一个访问套接字的尝试。
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.<Bind>g__BindSocket|13_0(<>c__DisplayClass13_0& )
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass29_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context)
--- End of inner exception stack trace ---
---> (Inner Exception #1) System.Net.Sockets.SocketException (10013): 以一种访问权限不允许的方式做了一个访问套接字的尝试。
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.<Bind>g__BindSocket|13_0(<>c__DisplayClass13_0& )
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass29_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context)<---
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.DefaultAddressStrategy.BindAsync(AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(IEnumerable`1 listenOptions, AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
Unhandled exception. System.IO.IOException: Failed to bind to address http://localhost:5000.
---> System.AggregateException: One or more errors occurred. (以一种访问权限不允许的方式做了一个访问套接字的尝试。) (以一种访问权限不允许的方式做了一个访问 套接字的尝试。)
---> System.Net.Sockets.SocketException (10013): 以一种访问权限不允许的方式做了一个访问套接字的尝试。
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.<Bind>g__BindSocket|13_0(<>c__DisplayClass13_0& )
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass29_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context)
--- End of inner exception stack trace ---
---> (Inner Exception #1) System.Net.Sockets.SocketException (10013): 以一种访问权限不允许的方式做了一个访问套接字的尝试。
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.<Bind>g__BindSocket|13_0(<>c__DisplayClass13_0& )
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass29_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context)<---
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.DefaultAddressStrategy.BindAsync(AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(IEnumerable`1 listenOptions, AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
at lkb_configurator_server.Program.Main(String[] args)
运行netstat -aon|findstr "5000"
也没发现有端口占用
当在非当前目录下运行 server 时,会找不到前端文件
当启动非当前目录下的 server 时,会无法访问前端,我开始以为是无离线使用功能,提了个 issue,后来发现弄错了(https://github.com/Lotlab/lkb-configurator/issues/10),应该是少了个 chdir
希望得到解答
关于lotlab键盘配置工具上面,会有设置键盘关机项,但设置关机操作后,好像没有开机的按钮了?这样的情况下,怎么操作开机?这个模式和睡眠功能有什么不一样吗?
因为我在用45配列键盘考虑到外带防误触,这两个功能我来说会有实用性。
应用特定键盘配置时提示"The operation has timed out."
用的是https://keyboard.lotlab.org/
键盘信息
制造商: Glab
产品名称:Omega50
硬件版本:Rev.B
硬件序列号:EED8B848
固件版本:5E2A8E30
固件编译日期:2021-04-24 16:30:19
平常用着没问题,今天想要改键位的时候发现特定键位没办法成功应用
想要但无法应用的特定配置json
{"Data":{"Keys":[[[41,542,543,544,568,34,547,45,46,550,551,42,1],[43,20,26,8,21,23,28,24,12,18,19,47,1],[41457,4,22,7,9,10,11,13,14,15,51,40,1],[225,29,27,6,25,5,17,16,54,55,52,229,1],[224,227,226,41516,169,44,170,42225,42214,42727,228,48,41]],[[53,30,31,32,33,34,35,36,37,38,39,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,49,1,1],[1,1,1,1,1,1,1,1,1,1,56,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1,1,1,1,1,1],[136,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,32,31,30,1,1,78,75,1,1,1,1],[138,1,34,33,1,1,1,1,1,1,1,1,1],[139,1,1,1,1,41969,1,1,1,1,1,1,1]],[[61441,0,0,0,0,0,0,0,0,0,61696,61440,1],[0,63489,63745,64001,64257,0,0,0,0,63233,0,0,1],[0,62481,62737,62993,63249,0,0,0,0,63505,0,61952,1],[0,61457,61713,61969,62225,0,0,0,0,0,0,0,1],[0,0,0,0,1,0,1,0,0,0,0,0,1]],[[53,58,59,60,61,62,63,64,65,67,68,76,1],[43,0,82,0,0,0,180,0,73,0,70,71,1],[57,80,81,79,0,190,189,172,171,175,74,75,1],[225,68,69,0,0,0,170,169,168,77,78,101,1],[224,227,226,44,1,44,1,0,230,231,228,72,1]],[[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1,1,84,85,83,1],[1,244,240,245,246,1,1,1,95,96,97,86,1],[1,242,241,243,1,1,1,1,92,93,94,88,1],[1,1,1,1,1,1,1,1,89,90,91,99,1],[1,1,1,1,1,1,1,98,1,1,42993,87,1]],[[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,249,1,250,251,252,1,1,1,1,1,1,1],[1,253,254,255,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1]]],"Macros":[],"Settings":[{"ID":17,"Value":0},{"ID":16,"Value":0},{"ID":18,"Value":0}]},"VID":17254,"PID":796}
另附无错误信息可以正常使用的键位(差别仅在第1层第1排)
{"Data":{"Keys":[[[41,30,31,32,33,34,35,36,37,38,39,42,1],[43,20,26,8,21,23,28,24,12,18,19,47,1],[41457,4,22,7,9,10,11,13,14,15,51,40,1],[225,29,27,6,25,5,17,16,54,55,52,229,1],[224,227,226,41516,169,44,170,42225,42214,42727,228,48,41]],[[53,30,31,32,33,34,35,36,37,38,39,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,49,1,1],[1,1,1,1,1,1,1,1,1,1,56,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1,1,1,1,1,1],[136,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,32,31,30,1,1,78,75,1,1,1,1],[138,1,34,33,1,1,1,1,1,1,1,1,1],[139,1,1,1,1,41969,1,1,1,1,1,1,1]],[[61441,0,0,0,0,0,0,0,0,0,61696,61440,1],[0,63489,63745,64001,64257,0,0,0,0,63233,0,0,1],[0,62481,62737,62993,63249,0,0,0,0,63505,0,61952,1],[0,61457,61713,61969,62225,0,0,0,0,0,0,0,1],[0,0,0,0,1,0,1,0,0,0,0,0,1]],[[53,58,59,60,61,62,63,64,65,67,68,76,1],[43,0,82,0,0,0,180,0,73,0,70,71,1],[57,80,81,79,0,190,189,172,171,175,74,75,1],[225,68,69,0,0,0,170,169,168,77,78,101,1],[224,227,226,44,1,44,1,0,230,231,228,72,1]],[[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1,1,84,85,83,1],[1,244,240,245,246,1,1,1,95,96,97,86,1],[1,242,241,243,1,1,1,1,92,93,94,88,1],[1,1,1,1,1,1,1,1,89,90,91,99,1],[1,1,1,1,1,1,1,98,1,1,42993,87,1]],[[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,249,1,250,251,252,1,1,1,1,1,1,1],[1,253,254,255,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1]]],"Macros":[],"Settings":[{"ID":17,"Value":0},{"ID":16,"Value":0},{"ID":18,"Value":0}]},"VID":17254,"PID":796}
不支持GT BLE60 rev.F
- 键盘选择 没有GT BLE60 rev.F选项
- 附加说明 插入GT BLE60 rev.F设备识别为GT BLE60 rev.E
- 保存键位后,键位混乱
CapsLock变为s,a变为d,s变为f,后面的键依次变换,
只要点击了“应用”即可复现,载入默认设置也是如此。非常严重,GT BLE60 rev.F目前无法编辑键位!!!
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.