搜索
bottom↓
回复: 18

原创 KiCad5 解锁右键画布拖动、XP兼容包

[复制链接]

出0入1119汤圆

发表于 2020-8-15 15:43:37 | 显示全部楼层 |阅读模式
本帖最后由 Himem 于 2020-8-16 02:00 编辑

帖子内容对应kicad-5.1.6_1-i686版

借用hailing大师开源工程测试 软件表现及3D加速均正常


XP补丁:

解压覆盖对应文件即可



与其他EDA软件操作不同,kicad为按下滚轮拖动画布。无鼠标操作不友好,按官方论坛里的说法貌似短期并不会开放修改,
所以这里提供一种临时方案,允许PCB编辑时使用右键拖动,符合以往习惯方便笔记本用户

十六进制编辑器打开 _pcbnew.kiface
搜索 9A99193EC7412800000000 替换为 9A99193EC7412800000100 即可生效

64位版 (未经测试)
48894120C7412800000000 => 48894120C7412800000100

本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入1119汤圆

 楼主| 发表于 2020-8-17 08:30:46 | 显示全部楼层
本帖最后由 Himem 于 2020-8-17 08:59 编辑

原理说明
kicad作为跨平台工具,图像使用opengl接口渲染,也有备用软渲染引擎,仍使用python2.7,
毕竟曾经支持过XP,只是因为库/编译器更新导致的不兼容,
所以只需修复系统API依赖即可重新在XP系统中使用

修改方法一般也适用于其他的画面无关的程序

使用Dependency Walker定位异常dll,用旧版kicad中文件替换
[图]
不存在的使用ReactOS中兼容库,改名后从导入表替换
[图]


右键解锁
阅读代码找到控制画面拖动部分,原本已经设计左右键支持
改源码windows下交叉编译一遍要踩的坑太多,所以定位到关键点,修改bin以保证工作稳定
common/view/wx_view_controls.cpp:243
  1. void WX_VIEW_CONTROLS::onButton( wxMouseEvent& aEvent )
  2. {
  3.     switch( m_state )
  4.     {
  5.     case IDLE:
  6.     case AUTO_PANNING:
  7.         if( aEvent.MiddleDown() ||
  8.             ( aEvent.LeftDown() && m_settings.m_panWithLeftButton ) ||
  9.             ( aEvent.RightDown() && m_settings.m_panWithRightButton ) )     // <===
  10.         {
  11.             m_dragStartPoint = VECTOR2D( aEvent.GetX(), aEvent.GetY() );
  12.             m_lookStartPoint = m_view->GetCenter();
  13.             m_state = DRAG_PANNING;
  14.         }
复制代码

common/view/view_controls.cpp:57
  1. void VC_SETTINGS::Reset()
  2. {
  3.     m_showCursor = false;
  4.     m_forceCursorPosition = false;
  5.     m_cursorCaptured = false;
  6.     m_snappingEnabled = true;
  7.     m_grabMouse = false;
  8.     m_autoPanEnabled = false;
  9.     m_autoPanSettingEnabled = false;
  10.     m_autoPanMargin = 0.1;
  11.     m_autoPanSpeed = 0.15;
  12.     m_warpCursor = false;
  13.     m_enableMousewheelPan = false;
  14.     m_panWithRightButton = false;   // <===
  15.     m_panWithLeftButton = false;
  16.     m_lastKeyboardCursorPositionValid = false;
  17. }
复制代码

前面16进制替换相当于将初始化时将m_panWithRightButton默认改为了true,

出0入93汤圆

发表于 2020-8-15 19:33:14 来自手机 | 显示全部楼层
顶一个,等原理讲解

出0入0汤圆

发表于 2020-8-15 20:37:14 | 显示全部楼层
按下滚轮拖动画布确实不方便,V6版希望可以自由设定

出0入0汤圆

发表于 2020-8-16 20:43:10 来自手机 | 显示全部楼层
谢谢楼主分享好东西。

出0入4汤圆

发表于 2020-8-16 22:29:57 | 显示全部楼层
v5.1.5-3  win7 64bit 正常!
谢谢lz,话说当初为了这个问题我还想着弄过能切换滚轮键和右键的鼠标

出0入4汤圆

发表于 2020-8-16 22:31:42 | 显示全部楼层
当时原理图还是只能中键拖动,lz能不能把原理图也解决一下?

出0入1119汤圆

 楼主| 发表于 2020-8-17 00:21:05 | 显示全部楼层
本帖最后由 Himem 于 2020-8-17 08:55 编辑
leacom 发表于 2020-8-16 22:31
当时原理图还是只能中键拖动,lz能不能把原理图也解决一下?


_eeschema.kiface  也按前面办法替换修改即可

出0入0汤圆

发表于 2020-8-17 09:49:16 | 显示全部楼层
谢谢分享,保存备用

出0入4汤圆

发表于 2020-8-17 11:04:00 | 显示全部楼层
Himem 发表于 2020-8-17 00:21
_eeschema.kiface  也按前面办法替换修改即可

good,也有效

不过有个小缺陷,原理图右键拖动时释放后会弹出右键菜单,pcb没有这个问题

出0入0汤圆

发表于 2020-8-28 08:26:13 | 显示全部楼层
已经测试 ,管用

出0入8汤圆

发表于 2020-8-28 10:17:03 | 显示全部楼层
感谢楼主分享,太实用了!

出10入210汤圆

发表于 2020-8-30 18:04:10 | 显示全部楼层
没用你的兼容包之前,在XP是主程序无法启动,用兼容包覆盖后,主程序正常启动,点原理图编辑就不动了。
PCBNEW正常,PCB库也正常,原理图库也正常。

本帖子中包含更多资源

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

x

出0入1119汤圆

 楼主| 发表于 2020-8-30 18:42:50 | 显示全部楼层
本帖最后由 Himem 于 2020-8-30 18:44 编辑
rainbow 发表于 2020-8-30 18:04
没用你的兼容包之前,在XP是主程序无法启动,用兼容包覆盖后,主程序正常启动,点原理图编辑就不动了。
PCB ...


显卡是?
试着先将图形(加速)级别调低,或关闭3D加速再试试?

出10入210汤圆

发表于 2020-8-30 19:16:33 | 显示全部楼层
Himem 发表于 2020-8-30 18:42
显卡是?
试着先将图形(加速)级别调低,或关闭3D加速再试试?

关了3D加速的。

出0入1119汤圆

 楼主| 发表于 2020-8-31 01:08:51 | 显示全部楼层
本帖最后由 Himem 于 2020-8-31 01:10 编辑


我这里是4x抗锯齿选项3d加速时会复现,卡住的提示是OpenGL失败之类

先一步步排除下,
目前PCBNEW时使用3D加速(F11启用)会不会出现错误提示?

出10入210汤圆

发表于 2020-8-31 09:12:03 来自手机 | 显示全部楼层
Himem 发表于 2020-8-31 01:08
我这里是4x抗锯齿选项3d加速时会复现,卡住的提示是OpenGL失败之类

先一步步排除下,

会提示不支持加速,确定后软件可以使用。

出0入1119汤圆

 楼主| 发表于 2020-9-1 15:18:40 | 显示全部楼层
本帖最后由 Himem 于 2020-9-1 15:20 编辑
rainbow 发表于 2020-8-31 09:12
会提示不支持加速,确定后软件可以使用。


如果kicad设置中图形加速选项已经是 无抗锯齿 ,那可能是显卡太旧不支持OpenGL2.0标准,或者显存太小,
可以将_eeschema.kiface中
837D08010F84DE010000 替换为 837D0801909090909090 强制禁用GL渲染,然后启动后再F12切入软渲染

出0入0汤圆

发表于 2020-9-1 21:30:06 | 显示全部楼层
好方法,多谢!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-22 22:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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