作者i8i (送不完的Gmail)
看板PttSuggest
标题Re: [建议] HyperBBS 功能
时间Sun Jul 3 16:23:30 2005
※ 引述《wens (在音乐中寻找感动~)》之铭言:
: 标题: Re: [建议] HyperBBS 功能
: 时间: Thu Jun 23 21:59:00 2005
:
: ※ 引述《in2 (敬请期待 :P)》之铭言:
: : ※ 引述《i8i (送不完的Gmail)》之铭言:
: : : 可不可以增加 HyperBBS 功能
: : : 自动登入BBS之後.单纯看文章很方便
: : 请问什麽是 HyperBBS ? @@?
: KKMan 弄出来的东西
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.112.249.154
: 推 dotZu:那请愿境网讯把它open source吧 XD 140.135.254.169 06/24
HyperBBS(TM) v1.0
HyperBBS协定的精神是将一般Term看不到的ANSI Code包装在BBS的文字中,由KKman程式
判定,并且显示和造成相关的动作出来,以期能够加强BBS的使用便利性。
HyperBBS目前为v1.0版,支援:
1.滑鼠点选(Point And Click):能够让有设定HyperBBS属性的段落文字能够支援滑鼠移
至文字上变色,以及滑鼠点选触发功能的机制:
基本上,这段文字要用200(head)、201(tail)包在前後。然後可以在这段文字中加入一
些ANSI Code,包含:
a. 设定这段文字变色时的前景色、背景色、是否整行变色:目前采取的作法乃是根据
标准ANSI Code设定颜色的方式稍做修改,见附件一。
b. 设定使用者点选时所触发的功能键:观察现有的BBS,有许多的显示项目,已经包
含了使用者执行此项目的关连按键,因此我们除了定义一些单纯的ASCII对应码、
特殊按键对应码之外,也做了一些针对BBS Server输出文字直接对应按键指令机
制。详细说明见附件二。
附件一:颜色码
以下是原本的ANSI颜色码
Foreground colors:
30 : Black 34 : Blue
31 : Red 35 : Magenta
32 : Green 36 : Cyan
33 : Yellow 37 : White
Background colors:
40 : Black 44 : Blue
41 : Red 45 : Magenta
42 : Green 46 : Cyan
43 : Yellow 47 : White
( Background is finally the Foreground + 10 )
HyperBBS所订出来颜色码为4xx(一般亮度),14xx(高亮度),xx部分套用上面所列的
ANSI颜色码,即可设定高亮度颜色。若没有设定则采用KKman里头预设的变色方式。
其他和颜色有关的码:
400整行变色:由於许多BBS中,文章项目还是看板列表等的输出,并没有包含行尾的
空白输出,造成变色时的不美观,用此控制码可以成功的解决这个问题。
401反白:用了反白码之後,将忽略这段文字中所有的HyperBBS的变色码,变色采取
和KKman选取方块一样的反白方式。
附件二:
1. HyperBBS用300包在对应键文字的前面,结尾用301(指令输入完不加enter)或
302(指令输入完按一次enter)或303(指令输入完按两次enter)。
Ex:要阅读第200篇文章,相当於按"2+0+0+enter+enter"
原本程式输出的
200 M 03/07 zach ◇ 申请转信`社团公益
字串,这时候就要变成
*[200m*[400m*[300m200*[303m M 03/07 zach ◇ 申请转信`社团公益*[201m
2. 但基於一些其他的考量,有可能对应键在萤幕并没有显示出来,因此我们定义了
600~855(600+ASCII码)来对应ASCII码。以及500~509对应一些按键。
500 等於键入PageUp
501 等於键入PageDown
502 等於键入Home
503 等於键入End
504 等於键入方向上
505 等於键入方向下
506 等於键入方向左
507 等於键入方向右
508 等於键入Insert
509 等於键入Delete
Ex:在文章列表上
[←]离开 [→]阅读 [^P]发表文章
要让滑鼠移到上面点选相当於
执行其功能则可以将此字串变成
*[200m*[506m[←]离开*[201m \
*[200m*[507m[→]阅读*[201m *[200m *[616m[^P]发表文章*[201m
╭作者 [email protected] (可乐当开水喝 :Q),
看板 WD_Doc╮
│标题 Re: [文件] HyperBBS doc
│
│时间 风与尘埃的对话 BBS (Fri Sep 29 16:01:52 2000)
│
│转信 AT-BBS!wd-news!WD
│
╰─────────────────── y)回应 /)搜寻文字 =[]<>)主题式阅读 ╯
HyperBBS 2.0 目前已经在测试中 , 但是有些 bug
所以 eimg 那边就先不放出来 ...
我顺便贴出 hyperbbs.h , 有些键盘的定义 :)
#define HB_SC ";" // SEMICOLON
#define HB_MS "\033[300m"
#define HB_ME0 "\033[301m"
#define HB_ME1 "\033[302m"
#define HB_ME2 "\033[303m"
#define HB_E "\033[201m"
#define HB_V_a (600+'a')
#define HB_V_A (600+'A')
#define HB_V_0 (600+'0')
#define HB_V_ENTER (613)
#define HB_V_PGUP (500)
#define HB_V_PGDOWN (501)
#define HB_V_HOME (502)
#define HB_V_END (503)
#define HB_V_UP (504)
#define HB_V_DOWN (505)
#define HB_V_LEFT (506)
#define HB_V_RIGHT (507)
#define HB_V_INSERT (508)
#define HB_V_DELETE (509)
#define HB_S_PGUP "500"
#define HB_S_PGDOWN "501"
#define HB_S_HOME "502"
#define HB_S_END "503"
#define HB_S_UP "504"
#define HB_S_DOWN "505"
#define HB_S_LEFT "506"
#define HB_S_RIGHT "507"
#define HB_S_INSERT "508"
#define HB_S_DELETE "509"
#define HB_S_ENTER "613"
#define HB_S_SPACE "632"
#define HB_S_SLASH "647"
#define HB_S_TAB "609"
#define HB_S_LBRAKET "691" // [
#define HB_S_RBRAKET "693"// ]
#define HB_CTL_E (5)
#define HB_CTL_P (16)
#define HB_S_CTL_E "605"
#define HB_S_CTL_R "618"
#define HB_S_CTL_X "624"
#define HB_S_CTL_P "616"
#define HB_S_CTL_V "622"
#define HB_S_CTL_Z "626"
#define HB_S_a "697"
#define HB_S_b "698"
#define HB_S_c "699"
#define HB_S_d "700"
#define HB_S_e "701"
#define HB_S_f "702"
#define HB_S_g "703"
#define HB_S_h "704"
#define HB_S_i "705"
#define HB_S_j "706"
#define HB_S_k "707"
#define HB_S_l "708"
#define HB_S_m "709"
#define HB_S_n "710"
#define HB_S_o "711"
#define HB_S_p "712"
#define HB_S_q "713"
#define HB_S_r "714"
#define HB_S_s "715"
#define HB_S_t "716"
#define HB_S_u "717"
#define HB_S_v "718"
#define HB_S_w "719"
#define HB_S_x "720"
#define HB_S_y "721"
#define HB_S_z "722"
#define HB_S_A "665"
#define HB_S_B "666"
#define HB_S_C "667"
#define HB_S_D "668"
#define HB_S_E "669"
#define HB_S_F "670"
#define HB_S_G "671"
#define HB_S_H "672"
#define HB_S_I "673"
#define HB_S_J "674"
#define HB_S_K "675"
#define HB_S_L "676"
#define HB_S_M "677"
#define HB_S_N "678"
#define HB_S_O "679"
#define HB_S_P "680"
#define HB_S_Q "681"
#define HB_S_R "682"
#define HB_S_S "683"
#define HB_S_T "684"
#define HB_S_U "685"
#define HB_S_V "686"
#define HB_S_W "687"
#define HB_S_X "688"
#define HB_S_Y "689"
#define HB_S_Z "690"
#define HB_S_0 "648"
#define HB_S_1 "649"
#define HB_S_2 "650"
#define HB_S_3 "651"
#define HB_S_4 "652"
#define HB_S_5 "653"
#define HB_S_6 "654"
#define HB_S_7 "655"
#define HB_S_8 "656"
#define HB_S_9 "657"
#define HB_BACK "\033[200m\033[444m\033[506m[←]上一页\033[201m"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.249.98