2.15CE doesn't show menu in IceWM, does in JWM

Booting, installing, newbie
Message
Author
User avatar
WhoDo
Posts: 4428
Joined: Wed 12 Jul 2006, 01:58
Location: Lake Macquarie NSW Australia

#31 Post by WhoDo »

Sit Heel Speak wrote:And, same question, to WhoDo and Béèm?
Your wish is my command, SHS.

Code: Select all

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option      "XkbRules" "xorg"
	Option      "XkbModel" "pc102"
	Option      "XkbLayout" "us" #xkeymap0
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "IMPS/2" #mouse0protocol
	Option	    "Device" "/dev/mouse"
	#Option      "Emulate3Buttons"
	#Option      "Emulate3Timeout" "50"
	Option      "ZAxisMapping" "4 5" #scrollwheel
EndSection
Cheers
[i]Actions speak louder than words ... and they usually work when words don't![/i]
SIP:whodo@proxy01.sipphone.com; whodo@realsip.com

Mstar
Posts: 74
Joined: Fri 16 Feb 2007, 20:04

#32 Post by Mstar »

Sit Heel Speak,

Here are the entires:

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc102"
Option "XkbLayout" "us" #xkeymap0
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2" #mouse0protocol
Option "Device" "/dev/mouse"
#Option "Emulate3Buttons"
#Option "Emulate3Timeout" "50"
Option "ZAxisMapping" "4 5" #scrollwheel

As an experiment, I used the Wizard to install the USB mouse and then re-copied the sections.

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc102"
Option "XkbLayout" "us" #xkeymap0
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2" #mouse0protocol
Option "Device" "/dev/mouse"
#Option "Emulate3Buttons"
#Option "Emulate3Timeout" "50"
Option "ZAxisMapping" "4 5" #scrollwheel
EndSection

Does not look like anything changed. As usual, the USB mouse had not been detected when I opened the wizard.

Again, thanks for your continuing interest in this issue. Your help is appreciated.

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#33 Post by Sit Heel Speak »

@Béèm and @WhoDo:

It's really a bit beyond my experience level at present, but...

I notice, with regard to touchpads, there is a synaptics driver in

/usr/X11R7/lib/xorg/modules/input

and so, I wonder if either of you have, thereby, a third "InputDevice" section in /etc/X11/xorg.conf with the identifier "Synaptics Mouse" as described at:

http://www.murga-linux.com/puppy/viewtopic.php?t=7955

or else, if you don't have it, could one simply add such a section, e.g.

Code: Select all

Section "InputDevice"
Identifier "Synaptics Mouse"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "TouchpadOff" "1"
EndSection
(the Option "TouchpadOff" "1" line is described at

http://www.die.net/doc/linux/man/man5/synaptics.5.html

)

and put

Code: Select all

modprobe evdev
in /etc/rc.d/rc.local to activate the driver...as mentioned at

http://www.puppyos.net/forum/azbb.php?1166117515

(note: it looks like the standard xorgwizard which comes with 2.15CE does not contain the modified choosemousefunc() which is included in the modified xorgwizard, available at the above URL)

(but I don't think it should be necessary, if you simply modprobe the driver and then hand-edit xorg.conf as above)

Does this solve the problem?

***(EDITED: then again...you might need to add, to

Section "ServerLayout"

in xorg.conf, the line

Code: Select all

InputDevice   "Mouse0"   "AlwaysCore"
...replacing Mouse0 with Mouse1 if that is the number your touchpad makes go crazy, on Zigzagcom's test described above...

)

HTH,
SHS

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#34 Post by Sit Heel Speak »

@MStar: this was reported by "bunnydowell" at

http://www.linuxcompatible.org/Microsof ... 29386.html

to work under OpenSuse 10.1 but I don't know whether it will work under icewm. In /etc/X11/xorg.conf, replace your present mouse InputDevice section with this (make a backup of xorg.conf first, of course):

Code: Select all

Section "InputDevice"
Driver "mouse"
Identifier "Mouse0" ## change to Mouse1 if doesn't work
Option "Buttons" "5"
Option "Device" "/dev/input/mice"
Option "Name" "Autodetection"
Option "Protocol" "explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection 
and make sure in

Section "ServerLayout"

there is a line

Code: Select all

InputDevice   "Mouse0"   "AlwaysCore"
or "Mouse1" if that is the number in the InputDevice section.

User avatar
Béèm
Posts: 11763
Joined: Wed 22 Nov 2006, 00:47
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

#35 Post by Béèm »

Thank you Sit Heal Speak, you are a champion. :D

I followed your 'dangerous' :wink: suggestion, but had to add an extra input device in the serverlayout section, the synaptics mouse.
I don't know if extra parameters apply there.
Only after adding this I have no more Touchpad active, but the trackpoint is still active.
BTW, I noticed that /dev/mouse is a symlink to /dev/psaux

Here is my conf now:

Code: Select all

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	#InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Mouse0" "AlwaysCore"
	InputDevice	   "Synaptics Mouse"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option      "XkbRules" "xorg"
	Option      "XkbModel" "pc102"
	Option      "XkbLayout" "be" #xkeymap0
EndSection

Section "InputDevice"
Identifier "Synaptics Mouse"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "TouchpadOff" "1"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto" #mouse0protocol
	Option	    "Device" "/dev/mouse"
	#Option      "Emulate3Buttons"
	#Option      "Emulate3Timeout" "50"
	Option      "ZAxisMapping" "4 5" #scrollwheel
EndSection

Mstar
Posts: 74
Joined: Fri 16 Feb 2007, 20:04

#36 Post by Mstar »

Sit Heel Speak,

It had no effect. Tried it both ways, mouse0 and mouse1, didn't matter.

Thanks for the effort.

User avatar
Béèm
Posts: 11763
Joined: Wed 22 Nov 2006, 00:47
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

#37 Post by Béèm »

@mstar
Can you post your "ServerLayout" section?
In fact can you post in the same way as I did, so including the "InputDevice" section as well?

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#38 Post by Sit Heel Speak »

Mstar wrote:It had no effect. Tried it both ways, mouse0 and mouse1, didn't matter.
Yes, please post the whole stretch as Béèm requests. It goes between the markers left-square-bracket code right-square-bracket and the same with /code in between, no spaces. I see that Dougal has now posted an update to puppyserialdetect, just within the last few hours. Perhaps this holds a key clue.

What is the result of the Zigzagcom test, referenced above?

Have you tried plugging-in the mouse-receiver not through a USB port, but rather into a PS/2 port using a USB-to-PS/2 adapter (little plastic thing about an inch-and-a-quarter long, sold locally in the color green for $1.50)?

Mstar
Posts: 74
Joined: Fri 16 Feb 2007, 20:04

#39 Post by Mstar »

OK, here is the entire server section

# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.

# Option "DontVTSwitch"

# Enables mode switching with xrandr
# There is a report that this can cause Xorg not to work on some
# video hardware, so default is commented-out...
# but i want to use it in xorgwizard so leave on...

Option "RandR" "on"

EndSection

#everything past here is auto-generated by Puppy's Xorg Wizard...

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "AlwaysCore"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc102"
Option "XkbLayout" "us" #xkeymap0
EndSection

Section "InputDevice"
Driver "mouse"
Identifier "Mouse1" ## change to Mouse1 if doesn't work
Option "Buttons" "5"
Option "Device" "/dev/input/mice"
Option "Name" "Autodetection"
Option "Protocol" "explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
#DisplaySize 380 300 # mm
Identifier "Monitor0"
VendorName "VSC"
ModelName "VA912-3SERIES"
Option "DPMS"
HorizSync 30-82
VertRefresh 50-81
#UseModes "Modes0" #monitor0usemodes
EndSection

Section "Modes"
Identifier "Modes0"
#modes0modeline0
EndSection

Section "Device"
# Available Driver options are:-
# Values: <i>: integer, <f>: float, <bool>: "True"/"False",
# <string>: "String", <freq>: "<f> Hz/kHz/MHz"
# [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Identifier "Card0"
Driver "i810" #card0driver
VendorName "Intel Corporation"
BoardName "82865G Integrated Graphics Controller"
BusID "PCI:0:2:0"
EndSection


Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1280x1024"
EndSubsection
EndSection

#PuppyHardwareProfile=Intel_r_865G_Graphics_ChipVSC4e1c


I don't have a USB to PS2 adapter with my mouse. Will pick one up next time I'm out and report the results. Might be a few days, though.

Thanks again.

User avatar
Béèm
Posts: 11763
Joined: Wed 22 Nov 2006, 00:47
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

#40 Post by Béèm »

Do you really have this file on your disk?

Code: Select all

 Option "Device" "/dev/input/mice" 
Strange as I have

Code: Select all

/dev/mouse

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#41 Post by Sit Heel Speak »

Béèm wrote:Do you really have this file on your disk?

Code: Select all

 Option "Device" "/dev/input/mice" 
Strange as I have

Code: Select all

/dev/mouse
/dev/input/mice exists on my Puppy 2.15CE, when I have both a ps2 and a cordless usb mouse plugged in.

@MStar: if you change the number in

Identifier "Mouse1" ## change to Mouse1 if doesn't work

then you must change the number to match it, in the corresponding line in the "ServerLayout" section, in other words change

InputDevice "Mouse0" "AlwaysCore"

to read

InputDevice "Mouse1" "AlwaysCore"

Sorry for not making that clear.

User avatar
Béèm
Posts: 11763
Joined: Wed 22 Nov 2006, 00:47
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

#42 Post by Béèm »

@Sit Heal Speak,
IC for the mice. :)
Logic then.

Mstar
Posts: 74
Joined: Fri 16 Feb 2007, 20:04

#43 Post by Mstar »

Deleted by Mstar
Last edited by Mstar on Thu 26 Apr 2007, 01:06, edited 1 time in total.

Mstar
Posts: 74
Joined: Fri 16 Feb 2007, 20:04

#44 Post by Mstar »

Deleted by Mstar
Last edited by Mstar on Thu 26 Apr 2007, 01:07, edited 1 time in total.

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#45 Post by Sit Heel Speak »

deleted by SHS
Last edited by Sit Heel Speak on Thu 26 Apr 2007, 03:17, edited 1 time in total.

Mstar
Posts: 74
Joined: Fri 16 Feb 2007, 20:04

#46 Post by Mstar »

Put Mouse1 in both places, but nothing changed.

Also, copying the xorg.conf and the xorg.conf.intel_r_865G_Graphics_ChipVSC4elc from the 2.14 frugal to the HD install didn't change anything either.

The HD install also has

xorg.conf.intel_r_865G30_82_50_85
and
xorg.conf.intel_r_915GM_910ML_915MS_Graphics_ChipSEC0000

files. That I don't recall seeing before. But, it's been a long day.

Anyway, here's the current xorg.conf

Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.

# Option "DontVTSwitch"

# Enables mode switching with xrandr
# There is a report that this can cause Xorg not to work on some
# video hardware, so default is commented-out...
# but i want to use it in xorgwizard so leave on...

Option "RandR" "on"

EndSection

#everything past here is auto-generated by Puppy's Xorg Wizard...


Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc102"
Option "XkbLayout" "us" #xkeymap0
EndSection

Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2" #mouse0protocol
Option "Device" "/dev/mouse"
#Option "Emulate3Buttons"
#Option "Emulate3Timeout" "50"
Option "ZAxisMapping" "4 5" #scrollwheel
EndSection

Section "Monitor"
#DisplaySize 380 300 # mm
Identifier "Monitor0"
VendorName "VSC"
ModelName "VA912-3SERIES"
# Comment all HorizSync and VertSync values to use DDC:
Option "DPMS"
HorizSync 30.0-82.0
VertRefresh 50.0-81.0
#UseModes "Modes0" #monitor0usemodes
EndSection

Section "Modes"
Identifier "Modes0"
#modes0modeline0
EndSection

Section "Device"
# Available Driver options are:-
# Values: <i>: integer, <f>: float, <bool>: "True"/"False",
# <string>: "String", <freq>: "<f> Hz/kHz/MHz"
# [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Identifier "Card0"
Driver "i810" #card0driver
VendorName "Intel Corporation"
BoardName "82865G Integrated Graphics Controller"
BusID "PCI:0:2:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1280x1024"
EndSubsection
EndSection

#PuppyHardwareProfile=Intel_r_865G_Graphics_ChipVSC4e1c


Thanks for your patience.

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#47 Post by Sit Heel Speak »

Mstar wrote:Thanks for your patience.
I have a reputation for being not exactly a quitter.

I trust that, if this is a hard-drive install, you have the drivers-set zdrv_215.sfs in the subdir / (the top directory of this hard disk)? Or, if a frugal install, that it is wherever pup_save.2fs is?

Assuming that zdrv_215.sfs is indeed where it's supposed to be...

...let's try a slight variation. Since I assume XOrg's configuration wizard (when you first rebooted fresh) put that line

Code: Select all

Option    "Protocol" "IMPS/2" #mouse0protocol
in there...

...let's have faith this time that xorgwizard knows what it's doing, and let's bring things into line with xorgwizard's way of thinking, one step at a time. Right now you have:

Code: Select all

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse1" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
Change it to "Mouse0" so it reads:

Code: Select all

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
Now, next you have:

Code: Select all

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option      "XkbRules" "xorg"
	Option      "XkbModel" "pc102"
	Option      "XkbLayout" "us" #xkeymap0
EndSection
Leave the above section alone.

Next, you now have:

Code: Select all

Section "InputDevice"
Identifier  "Mouse1"
Driver      "mouse"
Option	    "Protocol" "IMPS/2" #mouse0protocol
Option	    "Device" "/dev/mouse"
#Option      "Emulate3Buttons"
#Option      "Emulate3Timeout" "50"
Option      "ZAxisMapping" "4 5" #scrollwheel
EndSection
Let's revise the above section to read somewhat as suggested earlier, except let's keep consistent with the X server's evident opinion that the mouse is at mouse0, and likewise let's agree with xorgwizard that the mouse is at /dev/mouse. But then, let's give it the "Buttons", "Autodetection", and "Vendor" lines as in the reported successful example cited previously, and see if this gives the X Server enough further clues to figure things out. In other words, make it read so:

Code: Select all

Section "InputDevice" 
Identifier "Mouse0"
Driver "mouse" 
Option  "Protocol" "IMPS/2" #mouse0protocol
Option "Device" "/dev/mouse"
#Option      "Emulate3Buttons" 
#Option      "Emulate3Timeout" "50"
Option "Buttons" "5" 
Option "Name" "Autodetection" 
Option "Vendor" "Sysp" 
Option      "ZAxisMapping" "4 5" #scrollwheel 
EndSection
If it still doesn't work, then the angel on my shoulder whispers the suggestion we should comment-out the

Code: Select all

Option "Buttons" "5"
line, in other words change it to read:

Code: Select all

#Option "Buttons" "5"
and finally use the keypress Ctrl-Esc (not the mouse) to open the menu..."L" for Logout, and try restarting the X server (erroneously called "restart Xterm").

If you are left at a # prompt, then enter xwin to restart the X server. When the desktop presently reappears, see if it works OK when you click the start button to open the menu.

Also, an unrelated suggestion. I see in the "Monitor" section the lines

Code: Select all

Section "Monitor"
	#DisplaySize	  380   300	# mm
Humor me by taking the # out from the beginning (in other words, uncomment it) of the DisplaySize line, so the X server knows your monitor is 380 mm wide and 300 high. Make it read thus:

Code: Select all

Section "Monitor"
	DisplaySize	  380   300	# mm
This may sharpen your fonts a bit.

HTH,
SHS

Mstar
Posts: 74
Joined: Fri 16 Feb 2007, 20:04

#48 Post by Mstar »

Sit Heel Speak,

No joy, as they say. Nothing has changed. Tried it with and without Buttons 5 commented out.

Here is the xorg.conf file:

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc102"
Option "XkbLayout" "us" #xkeymap0
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2" #mouse0protocol
Option "Device" "/dev/mouse"
#Option "Emulate3Buttons"
#Option "Emulate3Timeout" "50"
#Option "Buttons" "5"
Option "Name" "Autodetection"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5" #scrollwheel
EndSection

Section "Monitor"
DisplaySize 380 300 # mm
Identifier "Monitor0"
VendorName "VSC"
ModelName "VA912-3SERIES"
# Comment all HorizSync and VertSync values to use DDC:
Option "DPMS"
HorizSync 30.0-82.0
VertRefresh 50.0-81.0
#UseModes "Modes0" #monitor0usemodes
EndSection

Section "Modes"
Identifier "Modes0"
#modes0modeline0
EndSection

Section "Device"
# Available Driver options are:-
# Values: <i>: integer, <f>: float, <bool>: "True"/"False",
# <string>: "String", <freq>: "<f> Hz/kHz/MHz"
# [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Identifier "Card0"
Driver "i810" #card0driver
VendorName "Intel Corporation"
BoardName "82865G Integrated Graphics Controller"
BusID "PCI:0:2:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1280x1024"
EndSubsection
EndSection

#PuppyHardwareProfile=Intel_r_865G_Graphics_ChipVSC4e1c


One more bit of information, it does not matter which button I click on the mouse (including the scroll wheel) they all open the little window in the upper left corner of the screen when there is no window open on the desktop.

Thanks for your persistence.

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#49 Post by Sit Heel Speak »

Can you take a screenshot of this mystery (Ctrl-Alt-P in 2.15CE, or else Graphics-screen capture with mtPaint, then File-Save as- and put it in say /mnt/hda1 with name Mystery_menu.png, then surf to tinypic.com, Browse to /mnt/hda1, highlight Mystery_menu.png, Open, Upload, post the resulting tinypic url (2nd or 4th box) here)?

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#50 Post by Sit Heel Speak »

Also, open an rxvt window and issue:

Code: Select all

cat /proc/bus/input/devices
and post here the output. Thanks.

Post Reply