Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
Termbox Go
提交
852784b1
T
Termbox Go
项目概览
btwise
/
Termbox Go
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Termbox Go
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
852784b1
编写于
12月 16, 2013
作者:
T
taylorchu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rename to MouseMid; add more desync checks for windows
上级
08b36c89
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
20 addition
and
23 deletion
+20
-23
_demos/keyboard.go
_demos/keyboard.go
+2
-2
api_common.go
api_common.go
+1
-1
termbox.go
termbox.go
+10
-15
termbox_windows.go
termbox_windows.go
+7
-5
未找到文件。
_demos/keyboard.go
浏览文件 @
852784b1
...
...
@@ -604,8 +604,8 @@ func pretty_print_mouse(ev *termbox.Event) {
switch
ev
.
Key
{
case
termbox
.
MouseLeft
:
button
=
"MouseLeft"
case
termbox
.
MouseMid
:
button
=
"MouseMid"
case
termbox
.
MouseMid
dle
:
button
=
"MouseMid
dle
"
case
termbox
.
MouseRight
:
button
=
"MouseRight"
}
...
...
api_common.go
浏览文件 @
852784b1
...
...
@@ -61,7 +61,7 @@ const (
KeyArrowRight
key_min
// see terminfo
MouseLeft
MouseMid
MouseMid
dle
MouseRight
)
...
...
termbox.go
浏览文件 @
852784b1
...
...
@@ -217,30 +217,25 @@ func parse_escape_sequence(event *Event, buf []byte) (int, bool) {
bufstr
:=
string
(
buf
)
// mouse
if
len
(
bufstr
)
>=
6
&&
strings
.
HasPrefix
(
bufstr
,
"
\0
33[M"
)
{
mouseRelease
:=
false
switch
buf
[
3
]
&
3
{
case
0
:
event
.
Key
=
MouseLeft
case
1
:
event
.
Key
=
MouseMid
event
.
Key
=
MouseMid
dle
case
2
:
event
.
Key
=
MouseRight
case
3
:
mouseRelease
=
true
}
if
mouseRelease
{
return
6
,
false
}
else
{
event
.
Type
=
EventMouse
// KeyEvent by default
// wheel up outputs MouseLeft
if
buf
[
3
]
==
0x60
{
event
.
Key
=
MouseMid
}
// the coord is 1,1 for upper left
event
.
MouseX
=
int
(
buf
[
4
])
-
1
-
32
event
.
MouseY
=
int
(
buf
[
5
])
-
1
-
32
return
6
,
true
}
event
.
Type
=
EventMouse
// KeyEvent by default
// wheel up outputs MouseLeft
if
buf
[
3
]
==
0x60
||
buf
[
3
]
==
0x70
{
event
.
Key
=
MouseMiddle
}
// the coord is 1,1 for upper left
event
.
MouseX
=
int
(
buf
[
4
])
-
1
-
32
event
.
MouseY
=
int
(
buf
[
5
])
-
1
-
32
return
6
,
true
}
for
i
,
key
:=
range
keys
{
...
...
termbox_windows.go
浏览文件 @
852784b1
...
...
@@ -664,6 +664,7 @@ func input_event_producer() {
var
r
input_record
var
err
error
mouseRelease
:=
false
var
prevButton
dword
for
{
err
=
read_console_input
(
in
,
&
r
)
if
err
!=
nil
{
...
...
@@ -691,16 +692,14 @@ func input_event_producer() {
// single or double click
if
mr
.
event_flags
==
0
||
mr
.
event_flags
==
2
{
// handle desync
if
mouseRelease
&&
mr
.
event_flags
!=
0
{
mouseRelease
=
false
}
mouseRelease
=
mouseRelease
&&
mr
.
event_flag
==
0
&&
prevButton
==
mr
.
button_state
prevButton
=
mr
.
button_state
if
mouseRelease
{
// ignore release
mouseRelease
=
false
continue
}
else
{
mouseRelease
=
true
}
mouseRelease
=
true
ev
:=
Event
{
Type
:
EventMouse
,
MouseX
:
int
(
mr
.
mouse_pos
.
x
),
...
...
@@ -711,11 +710,14 @@ func input_event_producer() {
ev
.
Key
=
MouseLeft
case
0x2
:
ev
.
Key
=
MouseRight
default
:
ev
.
Key
=
MouseMiddle
}
input_comm
<-
ev
}
else
{
// get ready for the next click
mouseRelease
=
false
prevButton
=
0
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录