找回密码
 立即注册
搜索
查看: 2682|回复: 32

[软件] ai写的代码能用吗?

[复制链接]
     
发表于 2024-12-14 21:45 来自手机 | 显示全部楼层 |阅读模式
我的键盘h键接触不良了,每次按h都会打出一大串。但是我的键盘还没有到需要换的地步,我想把电脑设置成0.3秒内仅能键入一次h,我不懂代码,所以让ai写了一段,请问这个能用吗

import keyboard
import time
import threading

# 用于存储上次按下'h'的时间
last_h_pressed = None

# 锁对象,用于线程安全
lock = threading.Lock()

def on_key_event(event):
    global last_h_pressed
   
    # 只处理按键按下事件
    if event.event_type == keyboard.KEY_DOWN:
        with lock:
            # 检查是否是'h'键
            if event.name == 'h':
                current_time = time.time()
               
                # 如果上次按下'h'的时间距离现在小于0.3秒,则忽略此次按键
                if last_h_pressed is not None and current_time - last_h_pressed < 0.3:
                    return
               
                # 更新上次按下'h'的时间
                last_h_pressed = current_time
                print("'h' 键被按下")  # 你可以根据需要替换或删除此打印语句

# 监听所有键盘事件
keyboard.hook(on_key_event)

# 保持程序运行,以便持续监听键盘事件
print("按 Ctrl+C 退出程序")
try:
    while True:
        time.sleep(1)  # 防止CPU使用率过高,可以调整为任意合理的时间间隔
except KeyboardInterrupt:
    print("程序已退出")


如果要用的话怎么样可以让它生效?
回复

使用道具 举报

     
发表于 2024-12-14 21:49 | 显示全部楼层
“但是我的键盘还没有到需要换的地步”
回复

使用道具 举报

发表于 2024-12-14 21:51 来自手机 | 显示全部楼层
当你连这个语言是什么的时候,我觉得换键盘比你重新学快

—— 来自 鹅球 v3.3.92
回复

使用道具 举报

     
发表于 2024-12-14 21:51 来自手机 | 显示全部楼层
机械键盘么,轴体可换吗,能换直接买个轴体换了就行,而且要换最好全换了,一般轴体老化都是成批老化的,一个老化了其他的键差不多也要不行了的
回复

使用道具 举报

     
 楼主| 发表于 2024-12-14 21:51 来自手机 | 显示全部楼层
StarForceTi 发表于 2024-12-14 21:49
“但是我的键盘还没有到需要换的地步”

只有这个键接触不良了。。
回复

使用道具 举报

     
 楼主| 发表于 2024-12-14 21:52 来自手机 | 显示全部楼层
二岩枫 发表于 2024-12-14 21:51
机械键盘么,轴体可换吗,能换直接买个轴体换了就行,而且要换最好全换了,一般轴体老化都是成批老化的,其 ...


21年初买的一把机械师,可以换,可能是快到时候了吧
回复

使用道具 举报

     
发表于 2024-12-14 21:53 来自手机 | 显示全部楼层
也别怪程序员自称超能力者了。
你这不也把代码当咒语了
甭管对不对,你这个代码该放在哪才能生效就问的很精髓来自: iPhone客户端
回复

使用道具 举报

     
发表于 2024-12-14 21:54 来自手机 | 显示全部楼层
主楼问题也可以问祂啊
回复

使用道具 举报

     
发表于 2024-12-14 21:55 | 显示全部楼层


继续问AI  怎么使用
回复

使用道具 举报

     
发表于 2024-12-14 21:55 | 显示全部楼层
本帖最后由 wqm2008 于 2024-12-14 21:58 编辑

能不能用取决于你有没有能力改...

这...不如先学学怎么安装python?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

     
发表于 2024-12-14 21:57 来自手机 | 显示全部楼层
这问题约等于,我
想了个点子把游戏里的代金券改成10000000就解决了没钱氪金的问题,
那么我在哪能改呢来自: iPhone客户端
回复

使用道具 举报

     
发表于 2024-12-14 22:02 | 显示全部楼层
不如拆下来洗洗
回复

使用道具 举报

     
发表于 2024-12-14 22:02 | 显示全部楼层
槽点巨大
最严重的问题是,你想要的是个劫持键盘事件的操作,而这个劫持操作,易见地,非常危险,而ai幻觉出来的这个代码,是一个hook,它是在事件的基础上做额外操作而非修改或取消原事件
用python劫持键盘事件能不能劫持到有没有很简单就能成佛的方法不好说
回复

使用道具 举报

     
发表于 2024-12-14 22:08 | 显示全部楼层
爱未来 发表于 2024-12-14 21:52
21年初买的一把机械师,可以换,可能是快到时候了吧

既然能换,拔出来和另一个不常用的键交换一下不就行了?干嘛搞这么麻烦
回复

使用道具 举报

     
发表于 2024-12-14 22:14 来自手机 | 显示全部楼层
本帖最后由 Belisarius 于 2024-12-14 22:15 编辑

你有琢磨怎么装Python环境的时间还不如进设置把忽略意外的击键给开了,这种系统自带的功能比ai写的第三方程序安全多了
回复

使用道具 举报

     
发表于 2024-12-14 22:15 来自手机 | 显示全部楼层
autohotkey好写一些吧,以前鼠标双击用过。就是没能考虑到所有用例(按着不放的组合键),最后还是换了鼠标
回复

使用道具 举报

     
发表于 2024-12-14 22:19 来自手机 | 显示全部楼层
本帖最后由 Nanachi 于 2024-12-15 06:51 编辑

没有评判能力的方面不适合问ai,各种意义上,不仅包括代码,也包括普通ai对话

—— 来自 鹅球 v3.3.92

评分

参与人数 1战斗力 +2 收起 理由
ryanz + 2 ai太容易给人全知全能的上帝的错觉了。.

查看全部评分

回复

使用道具 举报

     
发表于 2024-12-14 22:20 | 显示全部楼层
GPT给的AHK代码
  1. $h::
  2. KeyWait, h, T0.3
  3. SendInput, h
  4. Return
复制代码
回复

使用道具 举报

     
发表于 2024-12-14 22:25 | 显示全部楼层
傻瓜教程来了:
按下 Win + R,输入 regedit 回车,进入注册表编辑器
找到路径:HKEY_CURRENT_USER\Control Panel\Keyboard
把KeyRepeatDelay 设置成4
KeyRepeatRate设置成1
退出,重启电脑,生效
简洁优雅
回复

使用道具 举报

     
 楼主| 发表于 2024-12-14 22:34 来自手机 | 显示全部楼层
骷髅兵 发表于 2024-12-14 22:08
既然能换,拔出来和另一个不常用的键交换一下不就行了?干嘛搞这么麻烦? ...

还能这样?这还真没想到
回复

使用道具 举报

     
 楼主| 发表于 2024-12-14 22:36 来自手机 | 显示全部楼层
谢谢各位程序员,我下班了再研究研究
回复

使用道具 举报

     
 楼主| 发表于 2024-12-14 22:41 来自手机 | 显示全部楼层
Nanachi 发表于 2024-12-14 22:19
没有评判能力的人不适合用ai,各种意义上,不仅包括代码,也包括普通ai对话

—— 来自 鹅球 v3.3.92 ...

不懂代码不等于没有评判能力,术业有专攻,你有你懂的东西,我有我懂的东西,其他人也有各自懂的东西。
我不懂代码,你也不一定懂怎么搞急救,其他人不懂这两样,但是也会有自己的技能,把不懂代码和没有评判能力划等号这个逻辑就很有问题。
回复

使用道具 举报

     
发表于 2024-12-14 23:22 来自手机 | 显示全部楼层
本帖最后由 darkangel0224 于 2024-12-14 23:25 编辑

LZ你发这个帖出来,不就是因为自己没有相关技能,无法自行判断代码质量,而找其他人帮你看吗?

所以,你能判断的确实不是代码质量,而是别人能给的意见呐。然而,抬杠又不能解决问题
回复

使用道具 举报

     
发表于 2024-12-14 23:28 | 显示全部楼层
咸鱼买了一堆拆机轴就是为了应付紧急情况备用
回复

使用道具 举报

     
发表于 2024-12-15 00:00 来自手机 | 显示全部楼层
一些人优越感真的强
回复

使用道具 举报

发表于 2024-12-15 00:23 来自手机 | 显示全部楼层
国产轴体都是当消耗品在做了,就靠热插拔保底,坏起来经常是一批一批的坏,建议买20个轴体备用。另外debounce设0.3秒有点太长了,可能0.05秒就够了。
回复

使用道具 举报

     
发表于 2024-12-15 00:26 来自手机 | 显示全部楼层
如果换轴能解决,换100个轴的成本比写个忽略额外输入的脚本成本更低。

—— 来自 鹅球 v3.3.93-alpha
回复

使用道具 举报

     
发表于 2024-12-15 06:36 来自手机 | 显示全部楼层
爱未来 发表于 2024-12-14 22:41
不懂代码不等于没有评判能力,术业有专攻,你有你懂的东西,我有我懂的东西,其他人也有各自懂的东西。
...

是的,我不懂急救相关的内容,无法评判正确与否,所以我也不应该问ai急救相关的问题并按它的回答操作。

—— 来自 鹅球 v3.3.92
回复

使用道具 举报

     
 楼主| 发表于 2024-12-15 07:37 来自手机 | 显示全部楼层
Nanachi 发表于 2024-12-15 06:36
是的,我不懂急救相关的内容,无法评判正确与否,所以我也不应该问ai急救相关的问题并按它的回答操作。

...

我其实是因为经常在各种帖子里看到泥潭程序员说用ai写代码,所以试了试,不然我也不知道能这样
回复

使用道具 举报

     
 楼主| 发表于 2024-12-15 07:39 来自手机 | 显示全部楼层
darkangel0224 发表于 2024-12-14 23:22
LZ你发这个帖出来,不就是因为自己没有相关技能,无法自行判断代码质量,而找其他人帮你看吗?

所以,你能 ...


确实,总之谢谢大家帮助
回复

使用道具 举报

     
发表于 2024-12-15 08:41 来自手机 | 显示全部楼层
就算你hook成功了效果也很差的。换键盘实际点。
回复

使用道具 举报

     
发表于 2024-12-15 09:10 | 显示全部楼层
爱未来 发表于 2024-12-15 07:37
我其实是因为经常在各种帖子里看到泥潭程序员说用ai写代码,所以试了试,不然我也不知道能这样 ...

让ai生成代码的本质是“我知道啥是对的,但是具体细节记不清了懒得查一遍,或者干脆就是没技术含量的代码懒得自己写”就算有不知道的地方也不是完全不知道

平时干活让ai升成的代码我不自己看一遍绝对不会拿来真的用,它太擅长无中生有胡建良早了
回复

使用道具 举报

     
发表于 2024-12-15 10:39 | 显示全部楼层


  1. import keyboard
  2. import time
  3. import threading

  4. # 用于存储上次按下'h'的时间
  5. last_h_pressed = None

  6. # 锁对象,用于线程安全
  7. lock = threading.Lock()

  8. def on_key_event(event):
  9.     global last_h_pressed
  10.    
  11.     # 只处理按键按下事件
  12.     if event.event_type == keyboard.KEY_DOWN:
  13.         with lock:
  14.             # 检查是否是'h'键
  15.             if event.name == 'h':
  16.                 current_time = time.time()
  17.                
  18.                 # 如果上次按下'h'的时间距离现在小于0.3秒,则忽略此次按键
  19.                 if last_h_pressed is not None and current_time - last_h_pressed < 0.3:
  20.                     # 阻止此次按键输出到系统
  21.                     return False
  22.                
  23.                 # 更新上次按下'h'的时间
  24.                 last_h_pressed = current_time

  25. # 监听所有键盘事件
  26. keyboard.hook(on_key_event, suppress=True)  # suppress=True 会阻止按键事件传递到系统

  27. # 保持程序运行,以便持续监听键盘事件
  28. print("按 Ctrl+C 退出程序")
  29. try:
  30.     while True:
  31.         time.sleep(1)  # 防止CPU使用率过高,可以调整为任意合理的时间间隔
  32. except KeyboardInterrupt:
  33.     print("程序已退出")
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-1-22 18:57 , Processed in 0.105039 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表